ES6 面向对象
Posted afanadmin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6 面向对象相关的知识,希望对你有一定的参考价值。
类的写法
{ // ES6面向对象: // 类的写法: class Person{//typeof function类型 age = 20;//属性也可以这样写 -> 这是公有属性,外内都可以调用; #hei = "178cm";//私有属性 constructor(name){//-> function Person(name){} this.name = name; } fn(){// -> Person.prototype.fn = function(){} console.log("hello") } getAge(){ console.log(this.age); } getHei(){ console.log(this.#hei); } } let zhangsan = new Person("张三"); console.log(zhangsan); zhangsan.getAge();//20 zhangsan.getHei();//178cm 注意用法 console.log(zhangsan.hei);//undefined }
静态属性和静态方法
{ class Person{ static age = 10;//静态属性->1.属于类的属性;2.不需要实例化就可以调用 static foo(){//静态方法 console.log("foo") } constructor(name){ this.name = name; } } console.log(Person.age); Person.foo(); }
继承
{ // 继承 class Dad{ constructor(height){ this.height = height; } foo(){ console.log("foo"); } setStyle(){ console.log("父类一些逻辑") } } class Son extends Dad{//extends关键字 constructor(height){ super(height);//==调用了父类的构造函数-> 这里把构造函数和原型都进行继承过来了! // 注意参数传递 } setStyle(){//可以 扩展逻辑 使用 super.父类(); super.setStyle();//调用父类函数 console.log("子类一些逻辑"); } } let zhangsan = new Son("178cm"); console.log(zhangsan); zhangsan.setStyle(); }
以上是关于ES6 面向对象的主要内容,如果未能解决你的问题,请参考以下文章