当提到 ES6(ECMAScript 2015)时,有很多特性和语法改进可以介绍。以下是一些常见的 ES6 特性示例:
1. 块级作用域 (`let`, `const`):
```javascript
// 使用 let 声明块级作用域的变量
let x = 10;
if (x === 10) {
let x = 20;
console.log(x); // 输出:20
}
console.log(x); // 输出:10
// 使用 const 声明块级作用域的常量
const PI = 3.14159;
console.log(PI); // 输出:3.14159
```
2. 解构赋值:
```javascript
// 数组解构赋值
const [a, b, c] = [1, 2, 3];
console.log(a, b, c); // 输出:1 2 3
// 对象解构赋值
const { firstName, lastName } = { firstName: 'John', lastName: 'Doe' };
console.log(firstName, lastName); // 输出:'John' 'Doe'
```
3. 箭头函数:
```javascript
const multiply = (a, b) => a * b;
console.log(multiply(5, 3)); // 输出:15
const greet = name => {
console.log(`Hello, ${name}!`);
};
greet('Alice'); // 输出:'Hello, Alice!'
```
4. 模板字符串:
```javascript
const name = 'Alice';
const greeting = `Hello, ${name}!`;
console.log(greeting); // 输出:'Hello, Alice!'
```
5. 类:
```javascript
class Person {
constructor(name) {
this.name = name;
}
sayHello() {
console.log(`Hello, my name is ${this.name}.`);
}
}
const person = new Person('John');
person.sayHello(); // 输出:'Hello, my name is John.'
```
6. 模块化 (使用 `import` 和 `export`):
```javascript
// math.js 模块
export const add = (a, b) => a + b;
export const subtract = (a, b) => a - b;
// main.js 主文件
import { add, subtract } from './math.js';
console.log(add(5, 3)); // 输出:8
console.log(subtract(5, 3)); // 输出:2
```
这只是 ES6 中的一小部分功能示例,还有很多其他特性,如默认参数、展开运算符、Promise、async/await 等。希望这些示例能给你一个基本的了解,如果你对特定的功能有进一步的问题,请随时提问!