📅  最后修改于: 2023-12-03 15:14:54.100000             🧑  作者: Mango
ES6(ECMAScript 2015)是 JavaScript 的下一个主要版本,它在语言结构、数据类型、函数定义、循环语句、类、模块等方面都新增了很多特性,使得 JavaScript 变得更加灵活、强大也更加易读易用,本篇文章就为程序员们介绍 ES6 的一些新特性。
ES6中新增了两个用于声明变量的关键字——let和const。
let和var的区别是:let声明的范围是块级作用域,而var声明的范围是函数作用域。
const声明的变量是一个常量(不能被重新赋值),而且在声明的时候必须进行初始化。
// let示例
function fn() {
var a = 10;
if (true) {
let b = 20;
console.log(a, b);
}
console.log(a, b);
}
fn();
// const示例
const PI = 3.1415926;
console.log(PI);
PI = 3.14; // 报错
解构赋值是一种很方便的操作,它可以方便地将数组或对象中的值赋给变量。
// 数组解构赋值
let [a, b, c] = [1, 2, 3];
console.log(a, b, c);
// 对象解构赋值
let {name, age} = {name: "Tom", age: 18};
console.log(name, age);
箭头函数是ES6中的一个新特性,它可以让我们更加方便地书写函数。
// ES5的函数
var fn = function(a, b) {
return a + b;
}
// ES6的箭头函数
let fn = (a, b) => a + b;
ES6中新增了模板字符串,它可以让我们更加方便地拼接字符串。
let name = "Tom";
let age = 18;
console.log(`我叫${name},今年${age}岁。`);
ES6中新增了函数参数默认值的特性,可以让我们更加方便地进行函数编写。
function fn(x, y = 10) {
console.log(x + y);
}
fn(1); // 输出11
fn(1, 2); // 输出3
ES6中新增了class关键字,可以让我们更加方便地定义类。
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
say() {
console.log(`我叫${this.name},今年${this.age}岁。`);
}
}
let p = new Person("Tom", 18);
p.say();
ES6中新增了模块化的特性,可以让我们更加方便地管理代码。
// 导出模块
export let a = 10;
export function fn() {
console.log("Hello");
}
// 导入模块
import {a, fn} from "./module";
console.log(a);
fn();
以上就是ES6的一些新特性,它们让我们的代码更加简洁、易懂、易维护,而且还能提高我们的编程效率。