JavaScript有哪些数据类型,它们的区别?
①.基本数据类型:number、string、boolean、Undefined、NaN(特殊值)、BigInt、Symbol.
②.引⼊数据类型:Object
NaN 是 JS 中的特殊值,表示⾮数字,NaN 不是数字,但是他的数据类型是数字,它不等于任何值,包括⾃身,在布尔运算时被当做 false,NaN 与任何数运算得到的结果都是NaN,计算失败或者运算⽆法返回正确的数值的就会返回 NaN,⼀些数学函数的运算结果也会出现 NaN。
区别:
①基本数据类型是按值访问的,也就是说我们可以操作保存在变量中的实际的值。
②基本数据类型的值是不可变的,任何⽅法都⽆法改变⼀个基本类型的值,当这个变量重新赋值后看起来变量的值是改变了,但是这⾥变量名只是指向变量的⼀个指针,所以改变的是指针的指向改变,该变量是不变的,但是引⽤类型可以改变。
③基本数据类型不可以添加属性和⽅法,但是引⽤类型可以。
④基本数据类型的赋值是简单赋值,如果从⼀个变量向另⼀个变量赋值基本类型的值,会在变量对象上创建⼀个新值,然后把该值复制到为新变量分配的位置上,引⽤数据类型的赋值是对象引⽤,
⑤基本数据类型的⽐较是值的⽐较,引⽤类型的⽐较是引⽤的⽐较,⽐较对象的内存地址是否相同。
⑥基本数据类型是存放在栈区的,引⽤数据类型同事保存在栈区和堆区。

浙公网安备 33010602011771号