前言
ECMAScript 是 JavaScript 的标准化版本,由 ECMA 国际组织制定。它定义了 JavaScript 的语法、类型、语句等核心规范。ES6(即 ECMAScript 2015)于 2015 年发布,引入了许多现代化特性,让 JS 开发体验有了质的飞跃。
进制表示
在 ES6 之前,我们习惯用十进制写数字,但 ES6 原生支持了二进制和八进制的字面量写法,这在处理底层数据或位运算时非常实用。
二进制
使用 0b 或 0B 作为前缀:
let binary = 0b1010; // 二进制 1010,对应十进制 10
console.log(binary); // 输出:10
八进制
使用 0o 或 0O 作为前缀(注意不是字母 l):
let octal = 0o12; // 八进制 12,对应十进制 10
console.log(octal); // 输出:10
Symbol 类型
Symbol 是 ES6 引入的一种新的原始数据类型,主要用于创建唯一且不可变的标识符。它的核心价值在于解决对象属性名冲突的问题,常用于定义私有属性。
即使传入相同的描述字符串,两个 Symbol 值也是不相等的:
const sym1 = Symbol('description');
const sym2 = Symbol('description');
// sym1 和 sym2 不相等
console.log(sym1 === sym2); // 输出:false
// 可以作为对象的键,不会覆盖同名普通属性
const obj = {};
obj[sym1] = 'value1';
obj['sym1'] = 'value2';
console.log(obj[sym1]); // 输出:'value1'
Class 类继承
类是一种蓝图或模板,用于创建对象。它定义了一组属性(状态)和方法(行为),可以被多个对象共享。虽然 JS 本质上是基于原型的,但 Class 语法提供了更直观的面向对象编程方式。


