ES6 Class 基础语法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6 Class 基础语法相关的知识,希望对你有一定的参考价值。
参考技术A 通过对比,可以明显看出来,es5 的写法是传统的面向对象,es6 的类,完全可以看作构造函数的另一种写法。
es6 写法,可以看到里面有一个 constructor 方法,这就是构造方法,而this 关键字则代表实例对象
在类的实例上调用方法,就是调用原型上的方法。
另外,类的内部所有定义的方法,都是不可枚举的,与 es5 的行为不一致
Per只在 Class 内部有定义。
如果内部没有用到,可以省略 Per,如:
es6 不提供私有方法,只能通过变通方法模拟实现。
类的方法内部如果含有 this,它默认指向类的实例。但是,必须非常小心,一旦单独使用该方法,很可能报错。
类默认就是严格模式,所以不需要使用 use strict 指定运行模式。
由于本质上,es6 的类只是 es5 的构造函数的一层包装,所以函数的许多特性都被 Class 继承,包括 name 属性。
上面可以看出,x 和 y 都是实例对象 person 自身的属性(定义在 this 变量上),所以 hasOwnProperty 方法返回 true,而 toString 是原型对象的属性(定义在 Person 类上),所以 hasOwnProperty 方法返回 false
p1 和p2 都是 Person 的实例,原型都是 Person.prototype,所以 proto 属性是相等的
ES6 - 基础学习: Class 类
概述
在ES6中,class (类)作为对象的模板被引入,可以通过 class 关键字定义类。
class 的本质是 function。它可以看作一个语法糖,让对象原型的写法更加清晰、更像面向对象编程的语法。
在ES5中经常使用方法或者对象去模拟类的使用,虽然可以实现功能,但代码复杂且不优雅,ES6为此提供了类的使用。需要注意的是在写类的时候和ES5中的对象以及构造函数要区分开来,不要混淆了。
以上是关于ES6 Class 基础语法的主要内容,如果未能解决你的问题,请参考以下文章