ES6 Promise 对象 then 方法链式调用

介绍了 then() 方法为 Promise 添加解决 (fulfillment) 和拒绝 (rejection) 状态回调的功能,其返回一个新的 Promise 实例以支持链式调用。若回调函数返回另一个 Promise 实例,则后续 then() 方法会等待该 Promise 状态改变后再执行,体现异步操作的串联特性。

ES6 通过 Set 数组去重

介绍了 Set 数据结构的定义、语法及常用方法,包括 add、delete、has 和 clear,支持存储任意类型的唯一值。通过 Set 可实现数组去重,利用扩展运算符将 Set 转换为数组,简化去重操作并保留原始数据顺序。

通过尾递归避免栈溢出

介绍了 JavaScript 中递归的基本概念及其内存开销,指出递归调用会因栈空间限制导致溢出错误。同时提到尾递归优化理论上能避免栈溢出,但当前浏览器尚未完全支持尾递归优化,因此在实际使用中仍需注意性能问题。

JavaScript 表示 x 的 y 次幂

介绍了 JavaScript 中指数运算符 (**) 和 Math.pow() 方法的用法与区别。指数运算符直接进行幂运算,支持赋值操作;Math.pow() 方法通过函数调用实现幂运算,语法更传统。两者均支持字符串类型转换为数值进行计算,示例展示了实际应用场景。

JavaScript 四种数值取整方法

介绍了 JavaScript 中四种处理数字的小数部分的方法:Math.trunc() 去除小数保留整数,Math.round() 四舍五入,Math.ceil() 向上取整,Math.floor() 向下取整。每种方法均支持字符串和布尔值转换,返回结果可能为整数或 NaN,示例展示了不同输入下的具体行为。