ES6的一些新特性
Symbol
MDN 关于 Symbol 的介绍
The Symbol() function returns a value of type symbol, has static properties that expose several members of built-in objects, has static methods that expose the global symbol registry, and resembles a built-in object class but is incomplete as a constructor because it does not support the syntax “new Symbol()”.
Every symbol value returned from Symbol() is unique. A symbol value may be used as an identifier for object properties; this is the data type’s only purpose. Some further explanation about purpose and usage can be found in the glossary entry for Symbol.
The data type symbol is a primitive data type.
Symbol
语法
Symbol([description])
- description 可选的字符串
在对象中查找 Symbol 属性
Object.getOwnPropertySymbols()
可参考页面、文档
深入浅出 ES6(八):Symbols
Symbol - JavaScript | MDN
async&await
1 | const fs = require('fs') |
摘自阮老师的async 函数
class 类,学习自阮一峰老师的 ES6 教程
1 | //定义类 |
上面代码定义了一个“类”,可以看到里面有一个 constructor 方法,这就是构造方法,而 this 关键字则代表实例对象。也就是说,ES5 的构造函数 Point,对应 ES6 的 Point 类的构造方法。Point 类除了构造方法,还定义了一个 toString 方法。注意,定义“类”的方法的时候,前面不需要加上 function 这个关键字,直接把函数定义放进去了就可以了。另外,方法之间不需要逗号分隔,加了会报错。
1 | typeof Point // "function" |
类的数据类型就是函数,类本身就指向构造函数。
1 | class Point { |
在类的实例上面调用方法,其实就是调用原型上的方法。