JavaScript悟道(DouglasCrockford)

书: https://pan.baidu.com/s/15VfTw9eJ2MoiHktwswP0gw?pwd=tq5x
笔记如下:

  1. “JavaScript 是一门被误解的语言,它的精华远比人们想象的要深邃。”
  2. typeof null === 'object' 是语言的一个设计错误,但却永远无法修复。”
  3. “闭包(Closure)是 JavaScript 最强大的特性之一,它让函数可以‘记住’自己的词法作用域。”
  4. this 的值取决于函数的调用方式,而非定义位置。”
  5. “原型继承(Prototypal Inheritance)比类继承更灵活,但大多数人误用了它。”
  6. new 关键字混淆了构造函数和普通函数,最好避免使用。”
  7. == 的隐式类型转换规则充满陷阱,始终使用 ===。”
  8. “回调地狱(Callback Hell)不是 Node.js 的宿命,Promise 和 async/await 才是未来。”
  9. Array.prototype.map 和 Array.prototype.reduce 是函数式编程在 JavaScript 中的体现。”
  10. var 存在变量提升(Hoisting),let 和 const 才是更合理的选择。”
  11. JSON 是 JavaScript 的子集,但并非所有 JavaScript 对象都可被 JSON.stringify 序列化。”
  12. “模块模式(Module Pattern)利用闭包实现私有变量,是早期的封装方案。”
  13. eval 是邪恶的,它会破坏作用域、性能和安全。”
  14. setTimeout(fn, 0) 并非立即执行,而是将回调推入事件队列(Event Queue)。”
  15. “JavaScript 没有真正的多线程,Web Worker 是唯一的并行解决方案。”
  16. 'use strict'; 可以避免许多隐式错误,如意外创建全局变量。”
  17. Object.create(null) 创建一个纯净对象,无原型链污染。”
  18. “函数是一等公民(First-Class Citizen),可以像变量一样传递和返回。”
  19. try/catch 无法捕获异步错误,必须结合 Promise 或 async/await 使用。”
  20. “JavaScript 的未来在于减少缺陷,而非增加特性——少即是多(Less is More)。”

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注