1
0
mirror of https://github.com/ruanyf/es6tutorial.git synced 2025-05-24 18:32:22 +00:00

修改class

This commit is contained in:
ruanyf 2014-10-07 09:13:33 +08:00
parent 032e950fdd
commit ace860f263
3 changed files with 20 additions and 10 deletions

View File

@ -40,12 +40,20 @@ point.toString() // (2, 3)
```
上面代码定义了一个“类”可以看到里面有一个constructor函数这就是构造函数。而this关键字则代表实例对象
上面代码定义了一个“类”可以看到里面有一个constructor函数这就是构造函数而this关键字则代表实例对象。这个类除了构造方法还定义了一个toString方法。注意定义方法的时候前面不需要加上function这个保留字直接把函数定义放进去了就可以了
Class之间可以通过extends关键字实现继承。
```javascript
class ColorPoint extends Point {}
```
上面代码定义了一个ColorPoint类该类通过extends关键字继承了Point类的所有属性和方法。但是由于没有部署任何代码所以这两个类完全一样等于复制了一个Point类。下面我们在ColorPoint内部加上代码。
```javascript
class ColorPoint extends Point {
constructor(x, y, color) {
@ -61,7 +69,7 @@ class ColorPoint extends Point {
```
上面代码定义了一个ColorPoint类该类通过extends关键字继承了Point类的所有属性和方法。在constructor方法内super就指代父类Point在toString方法内`super()`表示对父类求值,由于此处需要字符串,所以会自动调用父类的toString方法。
上面代码constructor方法和toString方法之中都出现了super关键字它指代父类的同名方法。在constructor方法内super指代父类的constructor方法在toString方法内super指代父类的toString方法。
## Module的基本用法

View File

@ -44,9 +44,9 @@ Node.js的0.11版还不是稳定版本,要使用版本管理工具[nvm](https:
```bash
source nvm.sh
nvm use 0.11
node --harmony
$ source nvm.sh
$ nvm use 0.11
$ node --harmony
```
@ -55,6 +55,7 @@ node --harmony
```bash
$ node --v8-options | grep harmony
--harmony_typeof
--harmony_scoping
--harmony_modules
@ -74,7 +75,7 @@ $ node --v8-options | grep harmony
## Traceur编译器
Google公司的[Traceur](https://github.com/google/traceur-compiler)编译器可以将ES6代码编译为ES5代码。
Google公司的[Traceur](https://github.com/google/traceur-compiler)编译器可以将ES6代码编译为ES5代码。这意味着你可以用ES6的方式编写程序又不用担心浏览器是否支持。
它有多种使用方式。
@ -173,7 +174,7 @@ $traceurRuntime.ModuleStore.getAnonymousModule(function() {
```bash
npm install -g traceur
$ npm install -g traceur
```
@ -189,11 +190,11 @@ Calc constructor
```
如果要将ES6脚本转为ES5要采用下面的写法
如果要将ES6脚本转为ES5保存,要采用下面的写法
```bash
traceur --script calc.es6.js --out calc.es5.js
$ traceur --script calc.es6.js --out calc.es5.js
```
@ -203,7 +204,7 @@ traceur --script calc.es6.js --out calc.es5.js
```bash
traceur --script calc.es6.js --out calc.es5.js --experimental
$ traceur --script calc.es6.js --out calc.es5.js --experimental
```

View File

@ -30,6 +30,7 @@
- Dmitry Soshnikov, [ES6 Notes: Default values of parameters](http://dmitrysoshnikov.com/ecmascript/es6-notes-default-values-of-parameters/): 介绍参数的默认值
- Mozilla Developer Network, [WeakSet](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet)介绍WeakSet数据结构
- Mathias Bynens, [Unicode-aware regular expressions in ES6](https://mathiasbynens.be/notes/es6-unicode-regex): 详细介绍正则表达式的u修饰符
- Jack Franklin, [An introduction to ES6 classes](http://javascriptplayground.com/blog/2014/07/introduction-to-es6-classes-tutorial/): ES6 class的入门介绍
## Generator