What Is JavaScript Made Of? — overreacted
13 hours ago
- JavaScript 的值是抽象的事物(例如数字、字符串、对象),而像 'if' 这样的语句不是值。
- 原始值(数字、字符串)是不可变的,不能创建或更改;同一个原始值的每个实例都是相同的。
- 变量就像是“电线”指向值;'let' 允许重新赋值,'const' 禁止重新赋值,而 'var' 具有令人困惑的作用域。
- 对象是具有属性(指向其他值的电线)的值;每个对象字面量都会创建一个唯一的新的值(与原始值不同)。
- 数组是具有数字属性的对象,而原型决定了当属性缺失时的属性查找行为。
- 函数是代表代码的特殊值;参数传递数据,而 'this' 取决于函数被调用的方式。
- 箭头函数没有自己的 'this',闭包保持外层变量存活,而递归需要谨慎终止以避免栈溢出。