前端-JS基础之数据类型

数据类型

数据类型是字面含义,表示各种数据的类型。在任何语言中都存在数据类型,因为数据是各种各样的。

JavaScript主要包含8种数据类型,8种数据类型可以分为基础类型和引用型两个分类:

  • 基础型数据类型

    1. number 数字(包含整数和浮点数)
    2. string 字符串
    3. boolean 布尔值
    4. undefined 未定义
    5. null 空指针
    6. symbol 符号
    7. bigint 大整数
  • 引用型数据类型

    1. object 对象

通常可以使用typeof操作符查看数据类型,但是请注意,在检测null值时返回的不是null类型,而是object类型,这是一个特例。

Number

JavaScript不区分整数、浮点数等,统一都叫Number。typeof 100 得到 "number"

  • 数值字面量

    10、1.5、-20

  • 浮点数精度问题

    console.log(0.1+0.2);

    console.log(0.7*100);

    JavaScript中采用 IEEE 754 标准 (opens new window)的 64 位双精度浮点数。数值的运行会先将数值转为二进制,而这种标准下小数可能会出现表示不全的情况,从而最终的结果出现误差。(有汇编基础的同学可以自行进一步了解)

    如果为了得到相对准确的结果,一般会将小数转为整数之后再进行运行,最后除以倍数。例如:console.log( (0.1*100+0.2*100)/100 );

  • 数值范围

    根据标准,64位浮点数的指数部分的长度是11个二进制位,意味着指数部分的最大值是2047(2的11次方减1)。也就是说,64位浮点数的指数部分的值最大为2047,分出一半表示负数,则 JavaScript 能够表示的数值范围为2的1023次方到 2 的1024次方(开区间),超出这个范围的数无法表示。

    如果一个数大于等于2的1024次方,那么就会发生“正向溢出”,即 JavaScript 无法表示这么大的数,这时就会返回Infinity。相反,最大负数为 -Infinity

    Infinity-Infinity 也是数字的一种。

  • 特殊值

    NaN是一个特殊的值,它的类型是number,表示一个损坏的数值,通常出现在有不能转换为数字的数据参与运算时产生。

String

用来放一段文字。typeof "文字文字" 得到 "string"

  • 字符串字面量

    "文字" // 双引号
    'ababa' // 单引号
    `abcd` // 反引号
    

    三种引号都可以用来表示字符串数据。

  • 转义字符

    如果想在字符串使用引号文字:

    console.log(  "It's an apple."  ); //一种引号里面使用其他两种引号没有问题
    
    console.log( "John:\"I love you.\"" ); //内部使用字面量相同的引号,则需要使用 \ 转义符号
    

    其他转义含义:

    img

  • 字符串拼接

    进行 + 运算时,两边任意一边的数据是字符串的话,则是拼接的功能

    console.log("123" + "4"); //"1234"
    console.log("123" + 4); //"1234"
    console.log("zzt" + "666"); //"zzt666"
    

Boolean

布尔值类型只有两个值:真true 和 假false。用于判断。

typeof true得到"boolean"

Undefined

未定义类型的值为undefined

在变量没有被赋值时,默认值也为undefined

typeof undefined得到"undefined"

Null

nullundefined 意义很接近,都表示“没有”。null可以理解为一个“空”对象,但是并不占据内存空间。通常在一个变量即将在后续的逻辑中被赋予一个对象值,但是刚开始定义的时候不能确定到底是哪个对象值时,赋予它初始值null

注意:typeof null得到"object"

Symbol

symbol是一种运用场景极少的数据类型,该类型数据在开发中,基本不会使用。所以了解即可

Symbol值不可以进行运算

Symbol实际上是ES6引入的一种原始数据类型,用它来产生一个独一无二的值。在JS中,

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值