📜  ES6语法(1)

📅  最后修改于: 2023-12-03 14:41:01.143000             🧑  作者: Mango

ES6语法介绍

简介

ECMAScript 6 (ES6), 也称为 ECMAScript 2015,是 ECMAScript 标准的第六个版本,于2015年6月正式发布。ES6 增加了许多新的语法特性,使得 JavaScript 语言更加强大和灵活。

本文将介绍 ES6 中比较重要的语法特性,让程序员更好的了解 ES6 的使用。

let 和 const 声明变量

ES6 中新增了两个声明变量的关键字:letconst。相对于 ES5 中的 varletconst 更加灵活,且具有块级作用域。

// var 声明变量
var a = 1;
function foo() {
  var a = 2;
  console.log(a); // output: 2
}
foo();
console.log(a); // output: 1

// let 声明变量
let b = 3;
function bar() {
  let b = 4;
  console.log(b); // output: 4
}
bar();
console.log(b); // output: 3

// const 声明变量
const c = 5;
// c = 6; // TypeError: Assignment to constant variable.
模板字符串

ES6 中新增了模板字符串,使得字符串的拼接更加方便。

const name = 'Tom';
const age = 18;
const str = `My name is ${name}, I'm ${age} years old.`;
console.log(str); // output: My name is Tom, I'm 18 years old.
箭头函数

ES6 中新增了箭头函数,使得函数的定义更加简洁,同时也避免了 this 指向问题。

// ES5
var sum = function(a, b) {
  return a + b;
}

// ES6
const sum = (a, b) => a + b;
解构赋值

ES6 中新增了解构赋值,使得从数据结构中提取值更加方便。

const obj = { name: 'Tom', age: 18 };
const { name, age } = obj;
console.log(name); // output: Tom
console.log(age); // output: 18

const arr = [1, 2, 3];
const [a, b, c] = arr;
console.log(a); // output: 1
console.log(b); // output: 2
console.log(c); // output: 3
扩展运算符

ES6 中新增了扩展运算符,使得数组和对象的操作更加方便。

// 数组
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const arr3 = [...arr1, ...arr2];
console.log(arr3); // output: [1, 2, 3, 4, 5, 6]

// 对象
const obj1 = { name: 'Tom' };
const obj2 = { age: 18 };
const obj3 = {...obj1, ...obj2};
console.log(obj3); // output: { name: 'Tom', age: 18 }

ES6 中新增了 class 关键字,使得面向对象编程更加简洁。

class Person {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }
  sayHi() {
    console.log(`My name is ${this.name}, I'm ${this.age} years old.`);
  }
}

const person = new Person('Tom', 18);
person.sayHi(); // output: My name is Tom, I'm 18 years old.
模块化

ES6 引入了模块化的概念,具有模块化特性的代码可以被封装和复用。模块化可以使得代码更加清晰、易于维护。

// 导出模块
export const name = 'Tom';
export const age = 18;
export function sayHi() {
  console.log(`My name is ${name}, I'm ${age} years old.`);
}

// 引入模块
import { name, age, sayHi } from './module.js';
console.log(name); // output: Tom
console.log(age); // output: 18
sayHi(); // output: My name is Tom, I'm 18 years old.
总结

以上是 ES6 中比较重要的语法特性介绍,ES6 是 JavaScript 语言中一个重要的里程碑,除了本文介绍的内容之外,ES6 中还包含了更加强大和灵活的特性。掌握 ES6 的语法特性,可以使得程序员编写出更加优雅、高效的代码。