JS-类

作者: 刘淘 | 来源:发表于2020-06-21 16:08 被阅读0次
  • 使用class定义类,其实类的本质就是函数(只不过是语法糖而已,typeof返回function)
  • 类可以使用constructor完成初始化,多个方法之间直接书写,不要“,”分割
  • 使用new来实例化类的对象,跟函数类似,因此类其实就是对象的实例话工厂而已
  • class自动将属性挂载到实例上,将方法挂载到原型上,与function保持一致
  • 使用class定义的对象只可遍历属性,不可遍历方法,本质上是class修改了方法的属性特征(不可遍历)
  • 使用function定义的对象都可遍历属性和方法,除非使用hasOwnProperty做限制
  • 可使用Object.getOwnProertyNames()查看实例或原型各自的成员
{
    class User {
        constructor(name, age) {
            this.name = name
            this.age = age
        }
        show() {
            console.log(`${this.name} is ${this.age} years old`)
        }
    }
    const user = new User('xiamu', 18)
    console.log(typeof User)
    console.dir(User)
    console.log(User === User.prototype.constructor)
    console.dir(User)
    console.log(Object.getOwnPropertyNames(User))
    console.log(Object.getOwnPropertyNames(User.prototype))
    console.log(Object.getOwnPropertyDescriptor(User.prototype, 'show'))
}

image.png

相关文章

网友评论

    本文标题:JS-类

    本文链接:https://www.haomeiwen.com/subject/kelaxktx.html