2024-07-22
面试相关
00
  1. 变量声明 let/const
  2. 箭头函数
  3. 模板字符串
`后续添加${}`
  1. 解构赋值

    • 数组的解构
    • 对象的解构
  2. 扩展运算符

    • 展开数组或对象 (1, ...[2, 3, 4], 5) 或 { ...obj1 }
    • 数组拷贝 [...]
    • 合并数组或对象
    • 函数参数传递
    • 与解构赋值结合
    • 字符串转字符数组
    • 数组去重(结合 Set)
js
// 函数参数传递 function sum(x, y, z) { return x + y + z; } const numbers = [1, 2, 3]; console.log(sum(...numbers)); // 输出:6 // 字符串转数组 const title = "china"; const charts = [...title]; console.log(charts); // 输出:['c', 'h', 'i', 'n', 'a'] // 数组去重(结合 Set) const arrayNumbers = [1, 5, 9, 3, 5, 7, 10, 4, 5, 2, 5]; const newNumbers = [...new Set(arrayNumbers)]; console.log(newNumbers); // 输出:[1, 5, 9, 3, 7, 10, 4, 2]
  1. 剩余参数

ES6 中的剩余参数语法允许将不定数量的参数表示为一个数组。
其语法形式为:在函数的最后一个命名参数前加上三个点(...),后面跟着参数名,例如:function(a, b,...theArgs){ // 函数体 } ,在这个例子中,theArgs 将收集该函数的第三个参数及以后的所有剩余参数。

  1. 类 ES6 引入了类(class)的概念,使面向对象编程在 JavaScript 中更加清晰和直观。
  2. 模块化

ES6 引入了模块化的概念,这使得 JavaScript 代码的组织和管理更加清晰和高效。
一个模块就是一个独立的 JavaScript 文件。模块内的变量、函数、类等默认是私有的,只有通过 export 关键字导出的部分才能被其他模块使用。

  1. promise

这个函数又接收两个参数 resolve 和 reject,分别对映成功回调和失败回调
Promise 内部有 3 种状态 pending(进行时),fulfilled(已成功),rejected(已失败)。且这三种状态是不可逆的
为了更好的控制下一步执行,又诞生了三个实例方法 then(支持链式调用)、catch、finally(无论成功还是失败都需要执行一些操作)。
为了满足更多的业务需要,又诞生了 6 个原型方法 Promise.all()、Promise.allSettled()、Promise.any()、Promise.race()、Promise.reject()、Promise.resolve()。且都会返回一个确定状态的 Promsie 对象。

Promise.all() 通过数组的形式传入异步操作,所有的异步执行都成功,才执行成功,如果有一个失败了,就执行失败
Promise.allSettled() 所有执行都有结果了就执行,无论成功还是失败
Promise.any() 任意异步成功了就执行
Promise.race() 任意异步成功或失败就执行。

  1. map/set

在 ES6 中,Map 和 Set 是两种新的数据结构,它们为数据的存储和操作提供了更强大和灵活的方式。 * Map:Map 是键值对的集合,其中键可以是任何类型的值(包括对象),而不仅仅是字符串。 * Set:Set 是一种不允许重复值的数据结构。

  1. symbol

在 ES6 中,Symbol 是一种新的基本数据类型,它的主要目的是创建独一无二的值,通常用于对象的属性名,以避免属性名冲突。

  1. 迭代器和生成器

在 ES6 中,迭代器(Iterator)和生成器(Generator)为处理数据的遍历和生成提供了更强大和灵活的方式。

  • 迭代器(Iterator)

迭代器是一个具有 next() 方法的对象,每次调用 next() 方法都会返回一个对象,该对象包含两个属性:value (当前迭代的值)和 done (一个布尔值,表示迭代是否完成)。

js
// 创建一个简单的迭代器 function createIterator(arr) { let index = 0; return { next() { if (index < arr.length) { return { value: arr[index++], done: false }; } else { return { value: undefined, done: true }; } }, }; }
  • 生成器(Generator)

生成器是通过 function* 定义的函数,可以通过 yield 表达式暂停和恢复执行,并且可以逐步生成一系列的值。

js
function* generateNumbers() { yield 1; yield 2; yield 3; } let generator = generateNumbers(); console.log(generator.next()); console.log(generator.next()); console.log(generator.next()); console.log(generator.next());
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:seek

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!