ES6新特性有:1、块级作用域;2、箭头函数;3、解构赋值;4、模板字符串;5、默认参数值;6、类和继承;7、模块化。ES6引入了
let
和const
关键字,允许变量在块级作用域内声明,而不是只能在函数作用域内声明。这提供了更好的变量封装和控制,有助于避免变量污染。
一、块级作用域
ES6引入了let
和const
关键字,允许变量在块级作用域内声明,而不是只能在函数作用域内声明。这提供了更好的变量封装和控制,有助于避免变量污染。
{
let x = 10;
const y = 20;
}
console.log(x); // 报错,x不在作用域内
console.log(y); // 报错,y不在作用域内
二、箭头函数
箭头函数是一种更简洁的函数声明方式,具有隐式返回和绑定外部上下文的特点。它们通常用于回调函数和简化函数表达式。
// 传统函数
function add(a, b) {
return a + b;
}
// 箭头函数
const add = (a, b) => a + b;
三、解构赋值
解构赋值允许您从数组或对象中提取值并将它们分配给变量,以便更方便地访问和使用数据。
// 数组解构
const [x, y] = [1, 2];
// 对象解构
const { name, age } = { name: 'Alice', age: 30 };
四、模板字符串
模板字符串允许您在字符串中插入表达式,并更容易创建多行字符串。
const name = 'Alice';
const message = `Hello, ${name}!
This is a multiline string.`;
五、默认参数值
ES6引入了默认参数值,允许您在函数声明中指定参数的默认值,简化了函数的使用。
function greet(name = 'Guest') {
console.log(`Hello, ${name}!`);
}
greet(); // Hello, Guest!
greet('Bob'); // Hello, Bob!
六、类和继承
ES6引入了class
关键字,使得面向对象编程更加清晰和易于理解。它也支持类的继承。
class Animal {
constructor(name) {
this.name = name;
}
speak() {
console.log(`${this.name} makes a sound.`);
}
}
class Dog extends Animal {
speak() {
console.log(`${this.name} barks.`);
}
}
const dog = new Dog('Buddy');
dog.speak(); // Buddy barks.
七、模块化
ES6引入了模块化系统,允许您将代码分割成多个文件,并通过import
和export
语句在文件之间共享功能。
// math.js
export function add(a, b) {
return a + b;
}
// app.js
import { add } from './math';
console.log(add(2, 3)); // 5
常见问答
- ES6中的块级作用域是什么?
- ES6引入了
let
和const
关键字,允许变量在块级作用域内声明,而不是只能在函数作用域内声明。这意味着变量的作用范围可以更精确地控制,并且不会污染全局作用域。
- ES6引入了
- 箭头函数有什么特点?
- 箭头函数是一种更简洁的函数声明方式,具有隐式返回和绑定外部上下文的特点。它们通常用于回调函数和简化函数表达式。
- ES6中的模块化是什么?
- ES6引入了模块化系统,允许将代码分割成多个文件,并通过
import
和export
语句在文件之间共享功能。这有助于组织和维护大型JavaScript应用程序。
- ES6引入了模块化系统,允许将代码分割成多个文件,并通过