Javascript:Class构造函数

为什么需要class

在其他语言中class已经是一个早就被实现的功能,在JavaScript中一直到ES6被实现。在class没有实现之前我们是这样写的(如下代码)

function Person(name,sex){this.name = ''this.sex='
}
Person.prototype.say=function(){alert('hello')
} 

有了class我们就这么写的,是不是看起来更简洁。甚至对于初学者来说都不需要了解什么是prototype

class Person {constructor (name,sex) {this.name = name;this.sex = sex;}say() {alert('hello')}
} 

个人认为的是:在没有class这个声明之前,可以使用es5来模拟。但是在一定程度上并不是规范。如果新手或者通过其他语言学习者看到这个prototype什么的就比较懵。有了这个class关键字让js做面向对象的设计更完善了

class是什么

定义:类关键字Class 和 constructor 构造函数

类是用于创建对象的模板。 用 class 关键字来创建一个类,类体在一对大括号 {} 中,我们可以在大括号 {} 中定义类成员的位置,如方法或构造函数。 每个类中包含了一个特殊的方法 constructor(),它是类的构造函数,这种方法用于创建和初始化一个由 class 创建的对象。

class ClassName {constructor() { ... } 
}
//定义好类后,我们就可以使用 new 关键字来创建对象:
let site = new ClassName(); 

创建对象时会自动调用构造函数方法 constructor()。还可以这样创建对象

// 未命名/匿名类
let Runoob = class {constructor(name, url) {this.name = name;this.url = url;}
};
console.log(Runoob.name);
// output: "Runoob"
 
// 命名类
let Runoob &
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值