前言
ECMAScript 是 JavaScript 的标准版本,ECMA 国际组织负责制定它的语法、类型、语句、关键字和保留字。ES6 是 ECMAScript 的第六个版本,2015 年正式发布。它带来的变化不少,但在日常开发里,最先碰到的通常还是进制写法、Symbol 和 Class 这几项。
进制
二进制
ES6 里可以直接用 0b 或 0B 表示二进制。写法很直观,和十六进制一样,都是给数字加前缀。
let binary = 0b1010; // 二进制 1010
console.log(binary); // 输出:10
八进制
八进制也有了统一的写法,前缀是 0o 或 0O。这比老式写法更清楚,也更不容易和普通数字混淆。
let octal = 0o12; // 八进制 12
console.log(octal); // 输出:10
Symbol
Symbol 用来生成唯一的标识符。它最常见的用途不是'声明一个很特别的类型',而是给对象加键时避免冲突。
const sym1 = Symbol('description');
const sym2 = Symbol('description');
// sym1 和 sym2 不相等
console.log(sym1 === sym2); // 输出:false
如果两个地方都想往同一个对象上挂属性,Symbol 会省掉很多命名上的麻烦。这个特性看起来简单,实际很实用。
Class
Class 可以理解成创建对象的一种语法糖。它把构造函数和原型方法的写法包了一层,读起来更像传统面向对象语言,但底层还是 JavaScript 那套机制。
class Parent {
constructor(name) {
this.name = name;
}
greet() {
console.log();
}
}


