JavaScript的数据类型及数据类型转换、数组

目录

一、数据类型介绍

二、五种基本数据类型

1.String字符串类型

2.number数字类型

3.布尔类型

4.underfined 未定义类型

5.null类型

三、typeof检测数据类型

 四、数据类型转换

 1.隐式数据类型转换

2.显示数据类型转换

五、数组

1.数组简介


一、数据类型介绍

1. 为什么需要有数据类型?

    每一种编程语言都有自己的语法规则,在处理数据的时候,也会有自己的规则,不是任何数据都可以处理的。

2. 什么是数据类型?

   js编译器在解析代码的时候,会产生各种不同的数据而不同的数据 运算 与存储 方式都不同计算机需要对这些数据进行分类,称之为数据类型。

 3. 有哪些数据类型?

   基本数据(boolean-布尔型、string-字符串型number-数字型、null-空型、undefined-未定义型

   bigInt-大整数、symbol-符号性) 复杂数据类型(object-对象)


二、五种基本数据类型

1.String字符串类型

 [string字符串类型]

    所有被引号引起来的内容都是字符串类型

    双引号   "123"

    单引号   '123'

    反引号   `123`

     嵌套字符串: “我说‘123’ ” 

     声明字符串

      let str = 'xxxxxxxx'

let str =123


2.number数字类型

一切数学中的数字

整数"123 "

负数  "-123"

小数 " 3.14 "

最值:

 Number.MAX_VALUE //最大值
 console.log(Number.MAX_VALUE); //1.7976931348623157e+308

Number.MIN_VALUE//最小值
console.log(Number.MIN_VALUE); //5e-324

 console.log(Number.MAX_VALUE*2); //Infinity
 console.log(Infinity); //特殊数值,无穷大

注意:NaN是属于number类型的

如果想要判断一个变量的值是否为数字,可以使用isNaN()进行判断

返回结果为布尔值,true表示变量的值不是数字,false表示变量的值是数字

console.log(isNaN(2));//输出结果为:False

console.Log(isNaN('aaa')); // 输出结果: true
 let a = 3 - 'a'
 console.log(a); //NaN,not a Number,不是一个数


3.布尔类型

true   真   条件成立

false  假   条件不成立

console.log(true);//打印出来为true
console.log( 'true' );//true

console.log(True); //错误 要严格区分大小写


4.underfined 未定义类型

underfined [未定义类型]

未定义型只有一个特殊的值undefined,表示声明的变量还未被赋值。

声明变量并赋值为未定义型的示例代码如下:

 var a2;
 console.log(a2);  //输出结果:underfined
       


5.null类型

null : 空值 只有一个值 null

注意: null不等于空字符串(')或者0;

 null与underfined的区别是null表示给变量赋予了空值

而underfined则表示变量没有被赋值

console.log( null ) //null
var a1 = null;
 console.log(a1); //null


三、typeof检测数据类型

1.typeof 数据  2.typeof(数据)

  语法结束:得到一个字符串来告诉你这个数据是一个什么类型。

 123
 typeof (123)
 console.log(123);//123
 console.log(typeof(123));//number

 '123'
  console.log(typeof ('123'));//String

 'true'
  console.log('true');//string

  true
  console.log(typeof(true));//boolean

  false
  console.log(typeof(false));//boolean

  "underfined"
   console.log(typeof("underfined"));//string


   underfined
   console.log(typeof(underfined));//underfined (未定义类型)
        
   null
   console.log(typeof(null));//object

   console.log('aaa'*2);NaN
   console.log(typeof (NaN));//number
   console.log(typeof('aaa'*2));//number


   let a ='2'+2
   console.log(a);//22
   console.log(typeof a);//string
   console.log(typeof ('2'+2));//string
      


 四、数据类型转换

 1.隐式数据类型转换

(1) +运算符

   如果两个操作数中有一个为字符串(string),那么JS就认为要进行一个字符串的拼接。


    console.log(2023 + '明天会更好');//2023明天会更好
    console.log(typeof(2023 + '明天会更好'));//string

    console.log(1010 + '1010');//10101010
    console.log(typeof(1010 + '1010'));//string

如果 + 号两边并没有字符串,那么就是进行加法运算。

 console.log( 0 + true); //1
 console.log(typeof (0 + true ));//number

 console.log( false ); //false
 console. log( typeof ( false )); //boolean
 console.log( 0 + false); //0
 console.log( typeof (0 + false)); //number


 console.log( typeof (NaN)); //number
 console.log( 0 + NaN ); //NaN

 console.log( 0 + null); //0
 console.log( 0 + undefined ); //NaN
 console.log( typeof (0 + undefined)); //number

(2)其他运算符

  直接将另外一种数据类中转化为number,然后进行运算。

 console.log( 2023 +'明天会更好');  //2023明天会更好
 console.log( typeof (2023 +'明天会更好' )); //string

 console.log(2023 *'明天会更好' ); //NaN

 [总结]

   十号 前后有字符串类型 就会把前后的值转化为字符串

   +号 前后是其他类型 就会进行数学运算

   数学运算中 就会进行一种隐式数据类型转换 把其他类型转化为数字类型

   布尔类型-数字类型: true为1,false为0

   null空类型-数字类型: 把null转化为数字0

   undefined未定义类型-数字类型: 把undefined类型转化为number数字类型中的NaN


2.显示数据类型转换

(1) Number(value)

Number(value)方法用于把值转换为数值

 console.log(Number("1.2")); //1.2
 console.Log(Number(undefined));//NaN
 console.log(Number(false)); //0
 console.log(Number('123abc')); //NaN
 console.log(Number('true')); //NaN
 console.log(Number(true)); //1
 console.log(Number(null)); //0
 console.log(Number(NaN))//NaN

 parseInt(value)将值转换为整数

 parseFloat(value)将值转换为浮点数/小数

console.log(parseInt( 123.6 )); //123
console.log(parseFloat('123.6')); //123.6

如果转换的数值包含字符串,则只转换字符串开头的部分数值。

 console.log(parseInt( '123.6abc')); //123
 console.log(parseFloat('123.6abc')); //123.6

(2) Boolean(value)

Boolean(value)图数用于把值转换为布尔值。

如果value为空字符串、0、undefined、null、false,那么将返回false,否则将返回true。

console.log(Boolean ("")); //false
console.log(Boolean)(' '); //true(有空格)
console.log(Boolean (undefined)); //false
console.log(Boolean (false)); //false
console.log(Boolean ('false')); //true
console.log(Boolean(0)); //false
console.log(Boolean(null)); //false
console.log(Boolean (NaN));//false
console.log(Boolean ("a")); //true
console.log(Boolean ('2')); //true
console.log(Boolean (2)); //true

(3)string(value)

string(value)可以将任意类型转换为字符串型数据。

console.log( typeof String('1.2')); //string
console.log( typeof String(2)); //string
console.log( typeof String(false)); //string
console.log( typeof String(null)); //string
console.log(123);
console.log('123' );
 String(123) //通过转换 已经从number类型的123变成了string类型123
console.log( String(123));
console.log( typeof String(123)); String//String 要大写

总结

1.数据类型转换就是把一种数据类型转换成另外一种数据类型

2.隐式转换是通过运算符(+ - * /)来转换 显式转换是通过方法来转换(Boolean()Number()String())

3.隐式转换有两种情况 一种是有+号运算符 遇见字符串 做拼接 一种没有加号运算符 做运算

4.null转化为数字类型是0 转化为布尔类型是false

5. undefined转化为数字类型是NaN 转化为布尔类型是false

6. NaN转化为数字类型就是NaN 转化为布尔类型是false

7.  false转化为数字类型就是0 转化为布尔类型就是false

8. true转化为数字类型是1 转化为布尔类型是true

9.‘false’转化为数字类型就是NaN 转化为布尔类型true

10.  ‘1234’转化为数字类型  就是1234 转化为布尔类型就是true


五、数组

1.数组简介

数组属于复杂数据类型,数组是存储一系列值的集合,它是由一个或多个元索组成的,各元素之间使用逗号“,”分隔。

数组中的每个元素由“索引”和“值”构成。

 索引: 也可称为“下标”,用于识别元索,以数字表示,默认情况下从0开始依次递增。

 值:元素的内容,可以是任意类型的数据。

 [1,2,3,4,5]

 ['1' ,'2',3 ']

 [false,true,null]

[undefined]

 [1,'a',2,'b' ]

2.创建数组

方法一: 通过new Array()方式创建数组

    let arr1 = new Array()//创建了一个空数组

      new关键字用于创建新的对象

      Array () 表示的是创建的是一个数组对象

      arr是这个数组对象名字,可以自己随便取名字

      let关键字用于声明变量 就是说给一个数组取名为arr

console.log(arr1); //[]
let arr2 = new Array(3) //创建有3个空元索的数组
console.log(arr2); //[empty,empty,empty]
let arr3 = new Array(1,2,3) //创建包含3个元索的数组
console.log(arr3); //[123]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值