## Undefined - underfined 实际上是一个变量而并非是一个关键字,这是 JavaScript 的一个设计失误,为了避免无形中被修改,建议使用 void 0 - 在 ES5 后,underfined 在全局作用域中被设置为 read-only,但是在局部作用域中,还是会被修改 ## String - JavaScript 中的字符串是永远无法变更的,一旦字符被构建出来,无法用任何方式改变字符串的内容 - Example: ```javascript let testString = "Hello"; testString[0] = "X"; console.log(testString); ``` ## Number - JavaScript 中的 Number 类型有 18437736874454810627(即 2^64-2^53+3) 个值 - NaN其实是 2^53-2 个特殊数字的合集,NaN并不是一个数,而是一堆数据合集,所以NaN ! == NaN