关于类型有哪些你不知道的细节

73 阅读1分钟

字符串有最大长度吗?

0.1 + 0.2 不是等于 0.3 么?为什么 JavaScript 里不是这样的?

ES6 新加入的 Symbol 是个什么东西?

为什么给对象添加的方法能用在基本类型上?

运行时类型是代码实际执行过程中我们用到的类型。所有的类型数据都会属于 7 个类型之一。从变量、参数、返回值到表达式中间结果,任何 JavaScript 代码运行过程中产生的数据,都具有运行时类型。

Undefined 类型表示未定义,它的类型只有一个值,就是 undefined。

Null 表示的是:“定义了但是为空”。

JavaScript 中的字符串是永远无法变更的,一旦字符串构造出来,无法用任何方式改变字符串的内容,所以字符串具有值类型的特征。JavaScript 字符串把每个 UTF16 单元当作一个字符来处理,所以处理非 BMP(超出 U+0000 - U+FFFF 范围)的字符时,你应该格外小心。JavaScript 这个设计继承自 Java,最新标准中是这样解释的,这样设计是为了“性能和尽可能实现起来简单”。因为现实中很少用到 BMP 之外的字符。

此文章为7月Day24学习笔记,内容来源于极客时间《重学前端》,强烈推荐该课程!