在js中创建一个类
这个看起来貌似有很多种办法吧。那,既然是写这篇文章,肯定是要写点特别之处。
通常情况下,可以使用es6的class
,或者使用es5,可以按照如下的方法来创建新类。
function Person(name) {
this.name = name
}
Person.prototype.sayHello = function() {
return 'hello world'
}
将上面这个创建方式变通一下,我们还可以这样写
const Person = Object.assign(function() {
if (this instanceof Person) {
Object.assign(this, ...arguments)
} else {
return new Person(...arguments)
}
}.prototype, {
sayHello() {
return 'hello word'
}
}
).constructor
调用一下
const person = Person({ name: 'leevare' })
console.log(person.name)
console.log(person.sayHello())
输出结果
leevare
hello word
是不是感觉很有意思,不明白的小伙伴建议了解一下原型链,再回来看,就会恍然大悟了。
如果您觉得本文对您有用,欢迎捐赠或留言~
- 本博客所有文章除特别声明外,均可转载和分享,转载请注明出处!
- 本文地址:https://www.leevii.com/?p=1408