ES2015入门系列1-初识ES2015
EcmaScript 其实是一种语言规范,常见的 JavaScript, ActionScript 等都是其具体实现,平时使用中一般可以将其和Javascript对等称呼,本系列教程主要讲述 EcmaScript2015(ES6) 为JavaScript带来的新的特性,并初步掌握如何利用其进行开发。
本系列面向有一定基础知识的ES5使用者,不适合初学者。
先来看两段代码:
Human.js
export default class Human {
}
main.js
import Human from './Human';
class Man extends Human {
constructor(name = 'unnamed') {
super();
this.gender = 'male';
this.name = name;
}
static create(name = 'unamed') {
return new Man(name);
}
getGender() {
return this.gender;
}
getName() {
return this.name;
}
}
const man = new Man('Jack');
let manObject = {
man
}
console.log(man.getName());
console.dir(manObject);
上面的代码为我们展示了和ES5不一样的语法:
-
import 和 export
模块化开发,在此之前也有很多的方案,AMD, CMD等,但从使用上来说,ES2015的模块化开发还是很简单和强大的。
-
class
语意化的的面向对象语法,不过不要惊讶,这其实只是语法糖,在其背后,依然是编译器按照ES5的方式去执行的,不过对于后端开发者来说,接受起来就不会那么难受了。class中定义方法无需function关键字, 这些会在后面的章节进一步讲解。
-
参数有默认值了
不用再使用:
a = a || 'default';
这种方式处理默认值啦,其实这也是语法糖,但是带来的便利不言而喻。
-
const 和 let 关键字
var 终于不再一家独大了,来了2个小伙伴一起玩耍。
-
属性简洁写法
如果对象的属性名称和变量名称一致,那么可以使用下面的简洁写法:
let manObject = { man } //等同于 let manObject = { man: man }
怎么样,相比ES5,是不是更现代化了呢?
当然ES6带来的新语法岂止这几点,但这足以让我们对JavaScript更感兴趣了。