返回

ES6 特性汇总:领略 JavaScript 语言的进化与精进

前端

一、ES6 特性概览

ES6 为 JavaScript 语言带来了许多激动人心的新特性,包括:

  • 箭头函数:箭头函数是一种简洁的函数语法,可用于替代传统函数定义。箭头函数没有自己的 this ,并且可以更方便地处理闭包。

  • 模板字符串:模板字符串允许我们在字符串中嵌入变量,从而使字符串的拼接变得更加简单和直观。

  • 类:类是 ES6 中引入的一种新的数据类型,它允许我们使用面向对象的方式来组织和管理代码。

  • 模块:模块是 ES6 中引入的一种新的代码组织方式,它允许我们将代码分成多个独立的文件,从而使代码更容易维护和重用。

  • Promise:Promise 是 ES6 中引入的一种新的异步编程机制,它允许我们以更优雅的方式处理异步操作。

  • 生成器:生成器是 ES6 中引入的一种新的函数类型,它允许我们以一种更简单的方式来创建和管理迭代器。

  • 迭代器:迭代器是 ES6 中引入的一种新的数据类型,它允许我们以一种更简单的方式来遍历数据。

  • Set:Set 是 ES6 中引入的一种新的数据结构,它允许我们存储唯一值的集合。

  • Map:Map 是 ES6 中引入的一种新的数据结构,它允许我们存储键值对。

二、ES6 特性的应用示例

下面我们通过一些示例来演示 ES6 特性的应用:

  • 箭头函数:
const sum = (a, b) => a + b;

const double = n => n * 2;
  • 模板字符串:
const name = "John";
const age = 30;

const greeting = `Hello, my name is ${name} and I am ${age} years old.`;
  • 类:
class Person {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }

  greet() {
    console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
  }
}

const person = new Person("John", 30);
person.greet();
  • 模块:
// module.js
export function sum(a, b) {
  return a + b;
}

export const PI = 3.14;

// main.js
import { sum, PI } from "./module.js";

console.log(sum(1, 2)); // 3
console.log(PI); // 3.14
  • Promise:
const promise = new Promise((resolve, reject) => {
  setTimeout(() => {
    resolve("Hello, world!");
  }, 1000);
});

promise.then((result) => {
  console.log(result); // Hello, world!
});
  • 生成器:
function* generateSequence(start, end) {
  for (let i = start; i <= end; i++) {
    yield i;
  }
}

const sequence = generateSequence(1, 10);

for (const number of sequence) {
  console.log(number); // 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
}
  • 迭代器:
const numbers = [1, 2, 3, 4, 5];

const iterator = numbers[Symbol.iterator]();

while (true) {
  const next = iterator.next();

  if (next.done) {
    break;
  }

  console.log(next.value); // 1, 2, 3, 4, 5
}
  • Set:
const numbers = new Set([1, 2, 3, 4, 5, 1, 2, 3]);

console.log(numbers); // Set {1, 2, 3, 4, 5}
  • Map:
const