- 箭头函数 (Arrow Functions)
javascript// ES5 函数 var sum = function(a, b) { return a + b; }; // ES6 箭头函数 const sum = (a, b) => a + b; console.log(sum(1, 2)); // 输出 3
- 模板字符串 (Template Literals)
javascript// ES5 字符串拼接 var name = "Alice"; var greeting = "Hello, " + name + "!"; // ES6 模板字符串 let name = "Alice"; let greeting = `Hello, ${name}!`; console.log(greeting); // 输出 "Hello, Alice!"
- 解构赋值 (Destructuring Assignment)
javascript// ES5 对象解构 var person = { firstName: "John", lastName: "Doe" }; var firstName = person.firstName; var lastName = person.lastName; // ES6 对象解构 const person = { firstName: "John", lastName: "Doe" }; const { firstName, lastName } = person; console.log(firstName); // 输出 "John" console.log(lastName); // 输出 "Doe" // ES5 数组解构 var arr = [1, 2, 3]; var first = arr[0]; var second = arr[1]; // ES6 数组解构 const arr = [1, 2, 3]; const [first, second] = arr; console.log(first); // 输出 1 console.log(second); // 输出 2
- Promise
javascript// 创建一个 Promise const promise = new Promise((resolve, reject) => { setTimeout(() => resolve("Success!"), 1000); }); // 使用 .then() 处理成功的结果 promise.then(result => { console.log(result); // 输出 "Success!" }); // 使用 .catch() 处理失败的结果 promise.catch(error => { console.log(error); });
- 类 (Classes)
javascript// ES5 模拟类 function Car(make, model, year) { this.make = make; this.model = model; this.year = year; } Car.prototype.start = function() { console.log(`${this.make} ${this.model} (${this.year}) is starting.`); }; const car = new Car("Toyota", "Camry", 2020); car.start(); // 输出 "Toyota Camry (2020) is starting." // ES6 类 class Car { constructor(make, model, year) { this.make = make; this.model = model; this.year = year; } start() { console.log(`${this.make} ${this.model} (${this.year}) is starting.`); } } const car = new Car("Toyota", "Camry", 2020); car.start(); // 输出 "Toyota Camry (2020) is starting."
这些只是ES6中引入的一些特性的简单示例。ES6还有更多其他的特性和改进,例如模块化(Modules)、默认参数、剩余参数、展开操作符等。