Javascript复习:1.简要说明数据类型

数据类型

官方文档地址

1.结论

  • JS 数据类型分为两大类八种数据类型。(到目前为止)
  • JavaScript 是一种弱类型或者说动态语言。这意味着你不用提前声明变量的类型,在程序运行过程中,类型会被自动确定

2.数据类型

  1. 简单(基本)类型(除对象类型(object)以外的其它任何类型定义的不可变的值(值本身无法被改变))
    • Boolean : true/false
    • NULL:null
    • Undefined:undifined
    • Number:任意数值
    • BigInt:大整数
    • String:任意字符串
    • Symbol唯一不可修改的原始值
  2. 复杂(引用)类型
    • Object
      • Function:一种特别的对象(可以执行)
      • Array: 一种特别的对象(数值下标,有序的)

3.简要说明

3.1 Boolean

**Boolean**对象是一个布尔值的对象包装器。

通篇看下来,建议使用Boolean() / !! ; 不建议使用 new Boolean(),来创建一个布尔类型的值

3.2 NULL

表示一个不存在或者无效object或者地址引用。语言实现中空引用的含义各不相同。

在 JavaScript,null是原始值之一

typeof null        // "object" (因为一些以前的原因而不是'null')
typeof undefined   // "undefined"
null === undefined // false
null  == undefined // true
null === null // true
null == null // true
!null //true
isNaN(1 + null) // false
isNaN(1 + undefined) // true

3.3 Undefined

一个没有被赋值的变量会有个默认值 undefined

函数不设置返回值,默认返回 undefined

  • 注意 undefined在js中不是保留字符,但是我们应当尽量避免使用 undefined做标识符
  • undefinedundefined 进行比较必须使用全等才会为true;
  • 自es5标准,undefined是一个不能被配置(non-configurable),不能被重写(non-writable)的属性。

3.4 Number

  • JavaScript的Number类型为双精度IEEE 754 64位浮点类型。
  • 如果参数无法被转换为数字,则返回 NaN

    会生成NaN的场景:

    Number('foo')     // NaN
    Number('100a')    // NaN
    
    var tomato
    Number(tomato)    // NaN
    
  • 在非构造器上下文中 (如:没有 new操作符),Number 能被用来执行类型转换。

  • 调用函数 BigInt()(但不包含 new 运算符)并传递一个整数值或字符串值

3.5 BigInt

BigInt 是一种内置对象,它提供了一种方法来表示大于 2^53 - 1 的整数。这原本是 Javascript 中可以用Number表示的最大数字。BigInt 可以表示任意大的整数。

声明的方法
  • 可以用在一个整数字面量后面加 n 的方式定义一个 BigInt,例如10n

  • 调用函数 BigInt()(但不包含 new 运算符)并传递一个整数值或字符串值。例如BigInt(123) ==> 123n

  • BigIntNumber不是严格===相等的,但是宽松==相等的。

  • 建议仅在值可能大于2^53 时使用 BigInt 类型,并且不在两种类型之间进行相互转换。

  • 对任何 BigInt 值使用 JSON.stringify() 都会引发 TypeError

    // 解决办法
    BigInt.prototype.toJSON = function() { return this.toString(); }
    

3.6 String

String 全局对象是一个用于字符串或一个字符序列的构造函数。

3.7 Symbol

  • 英译:符号

  • const symbol1 = Symbol();  // 不需要使用 new关键词
    
  • 感觉就是一个唯一的key可用于对象声明一个唯一的属性名

3.8 Object

在计算机科学中, 对象(object)是指内存中的可以被标识符引用的一块区域。

已知的对象

  1. 数据属性

  2. 访问器属性

  3. 日期

  4. 数组

  5. 类数组

  6. Maps

  7. Sets

  8. WeakPaps

  9. WeakSets

  10. JSON

  11. 标准内置对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lazy_tomato

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值