1. let 和 const:
ES6 引入了 let 和 const 关键字,用于声明变量。相比于 var,它们具有块级作用域,可以更好地控制变量的范围。
let x = 10;
const PI = 3.14;
2. 箭头函数:
箭头函数是一种更简洁的函数定义方式,它不会创建自己的 this,而是继承外层作用域的 this。
const add = (a, b) => a + b;
3. 模板字符串:
模板字符串允许在字符串中嵌入变量,使用反引号()进行定义。
let name = "World";
let greeting = `Hello, ${name}!`;
4. 解构赋值:
解构赋值允许从数组或对象中提取数据并赋值给变量。
const [a, b] = [1, 2];
const { x, y } = { x: 1, y: 2 };
5. 默认参数:
函数参数可以有默认值,简化了函数调用时的参数传递。
function greet(name = "Guest") {
console.log(`Hello, ${name}!`);
}
6. 类:
ES6 引入了类的概念,使得面向对象编程更加直观。
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
sayHello() {
console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
}
}
7. 模块化:
ES6 支持模块化,通过 import 和 export 关键字进行模块的导入和导出。
// math.js
export const add = (a, b) => a + b;
// app.js
import { add } from './math';
8. Promise 和 异步/await:
ES6 引入了 Promise 对象,以更方便地处理异步操作。ES8(ES2017)引入了异步/await 语法糖,使异步代码更加清晰。
const fetchData = () => {
return new Promise((resolve, reject) => {
// 异步操作
if (/* 操作成功 */) {
resolve(data);
} else {
reject(error);
}
});
};
const fetchDataAsync = async () => {
try {
const data = await fetchData();
console.log(data);
} catch (error) {
console.error(error);
}
};
9. 其他特性:
ES6 还引入了许多其他特性,如 Map、Set、迭代器、生成器等,以及一些新的数组和字符串方法。
这只是一个简要的导读,如果你希望深入了解 ES6,建议阅读详细的教程或参考官方文档。
转载请注明出处:http://www.zyzy.cn/article/detail/4660/ES6