码迷,mamicode.com
首页 > 系统相关 > 详细

学习EMACScript6新特性

时间:2018-01-29 17:43:32      阅读:446      评论:0      收藏:0      [点我收藏+]

标签:pre   bsp   多态   mac   student   版本   extends   实例化   ide   

1、面向对象,新增class、extends关键字

在6.0之前3.0 的版本中面向对象编程

//定义类
var Class = function(name,desc){
this.name = name;
this.desc = desc;
this.display = function (){
console.log("Class:{name:"+this.name+",desc:"+this.desc+"}");
}
}
//实例化类一个对象
var a = new Class("Class","定义班级类别");
a.display();//Class:{name:Class,desc:定义班级类别}
var b = new Class("Student","定义学生类别");
//多态
b.other = "父为Class";
//override
b.display = function(){
console.log("Class:{name:"+this.name+",desc:"+this.desc+",other:"+this.other+"}");
}
b.display();//Class:{name:Student,desc:定义学生类别,other:父为Class}

在6.0中面向对象

//定义类Father
class Father{
//Father构造方法
constructor(name,desc){
this.name = name;
this.desc = desc;
}

display(){
console.log("Father:{name:"+this.name+",desc:"+this.desc+"}");
}
}
//定义类Son
class Son extends Father{
//Son构造方法
constructor(name,desc,other){
super(name,desc);
this.other = other;
}
//orverride
display(){
console.log("Son:{name:"+this.name+",desc:"+this.desc+",other:"+this.other+"}");
}
}

var father = new Father("father","父对象father");
var son = new Son("son","子对象son"," 父为father");
father.display();//Father:{name:father,desc:父对象father}
son.display();//Son:{name:son,desc:子对象son,other: 父为father}

感觉是不是跟C#、JAVA十分相近?而且集成、封装、多态面向对象的三大特性完美支持。

2、Generator 方法 (未完待续)




学习EMACScript6新特性

标签:pre   bsp   多态   mac   student   版本   extends   实例化   ide   

原文地址:http://blog.51cto.com/13584768/2066475

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!