JavaScript基础篇(一)

106 阅读1分钟

数据类型

基本数据类型

  • Boolean
  • Sring
  • Number
  • Null
  • Undefined
  • Object
  • symbol
  • bigInt

新的数据类型

1.BigInt

biging类型提供大于25312^{53}-1的整数,它本来是Number能表示的最大的整数。

//可以使用整形加n或者Bigint来声明一个Bigint的数
var a = 1n
var b = BigInt(2)
//a为1n;b为2n

var c = a+b
//c为3n

//与NUmber运算会报错
var d = a+1
/*
Uncaught TypeError: Cannot mix BigInt and other types, use explicit conversions
    at <anonymous>:1:2
*/

与Number不是严格相等的,而是宽松相等的

1n==1   //true
1n===1  //false

布尔值的转化与Number类似

if(0n)
{
  console.log("true")
}else{
  console.log("false")
}
//false

与Number也可以进行比较

2n>1  //true
2n>2  //false
2n>=2 //true

2.Symbol

symbol是原始值,并且符号实例是唯一的、不可变的,不会发生属性冲突。可以使用symbol构造函数创建一个symbol。

a = Symbol(1)
// Symbol(1)
b = Symbol(1)
// Symbol(1)
a==b
//false

正是由于Symbol唯一的特性可以作为属性的属性。对象上几种特殊的symbol的。即使用关键字就可以调用symbol.关键字函数。

  1. for of 调用symbol.iterator。可以使用这个特性自定义对象中迭代性。
  2. for-await-of 调用symblo.asyncIterator。
  3. instance 调用symbol.hasInstance

1.image.png
3.image.png