介绍了 var、let 和 const 在 JavaScript 中的作用域和行为差异。var 声明的变量会提升并挂载到 window 对象上,而 let 和 const 声明的变量存在暂时性死区 (TDZ),在声明代码执行前无法访问,否则会抛出引用错误。
讲解了如何使用生成器为对象定义迭代器,并展示了访问默认迭代器和迭代器与扩展运算符的结合,通过示例说明了迭代器在对象、数组和字符串中的应用,强调了生成器函数返回迭代器的特性。
讲解了通过 ECMAScript5 的 Object.defineProperty 和 ECMAScript6 的 Proxy 与 Reflect,实现对对象属性值修改的监听,分别展示了两种方法的代码示例,实时更新输入框与显示内容的同步效果。
介绍了对象解构和数组解构的基础用法、非初始化赋值、默认值设置及扩展运算符的应用,展示了变量值交换、深拷贝及混合解构解析复杂数据的技巧,并探讨了函数参数默认值的不同设置方式。
概述了如何使用 husky、lint-staged、prettier、eslint、stylelint 和 htmllint 等工具规范 JavaScript、CSS 和 HTML 代码,提供详细的配置示例,涵盖代码格式、语法规则以及最佳实践,帮助开发者构建一致且高质量的代码风格。
提供了 Vue 组件命名、Prop 定义、指令使用及样式规范,强调 v-for 和 v-if 的高效用法。JavaScript 部分建议使用 let/const、箭头函数、模块化及 Map 等优化代码。HTML/CSS 强调语义化命名、简化选择器、属性缩写及避免使用 table 布局,统一采用 HTML5 标准,注重代码可读性与性能优化。
介绍了 for...of 语句可遍历数组、字符串、Set、Map 等可迭代对象,以及与 for...in 的区别。for...of 遍历键值,不会暴露对象的非迭代属性,支持 break、continue 和 return,且能正确识别 32 位 UTF-16 字符。
介绍了 then() 方法为 Promise 添加解决 (fulfillment) 和拒绝 (rejection) 状态回调的功能,其返回一个新的 Promise 实例以支持链式调用。若回调函数返回另一个 Promise 实例,则后续 then() 方法会等待该 Promise 状态改变后再执行,体现异步操作的串联特性。
介绍了 Map 和 WeakMap 的定义、语法、方法及应用场景。Map 支持任意类型的键,提供多种操作和遍历方法;WeakMap 的键必须是对象,且为弱引用,支持垃圾回收机制,适合解决内存泄漏问题,例如在绑定 Dom 对象事件时自动释放内存。
介绍了 Set 数据结构的定义、语法及常用方法,包括 add、delete、has 和 clear,支持存储任意类型的唯一值。通过 Set 可实现数组去重,利用扩展运算符将 Set 转换为数组,简化去重操作并保留原始数据顺序。