JS之class知识点

    科技2025-01-09  15

    类名后面没有括号必须有一个constructor(this指向实例)类方法不用function关键字,方法之间不需要用逗号隔开,否则会报错类的数据类型就是函数,类本身就指向构造函数(Point === Point.prototype.constructor // true)事实上,类的所有方法都定义在类的prototype属性上面。类的内部所有定义的方法,都是不可枚举的(不能使用Object.keys遍历到)实例的属性除非显式定义在其本身(即定义在this对象上),否则都是定义在原型上类中的this默认指向类的实例,而不是类本身,静态方法,在方法前加static关键字,只能通过类名调用,实例调用会报错,可以被子类继承实例属性的新写法,可以不用使用this,直接和方法类似,不用var关键字静态属性,声明类后,通过类名.name添加静态属性(目前有提议和静态方法一样添加static关键字)私有方法和私有属性(在类的内部使用) (1)通过名字区分,例如私有属性(方法)名称加下划线,但是不保险,外部可以使用 (2)将私有方法移到外面,在类内部共有方法中使用name.call(this),即在内部调用,改变this指向 (3)利用symble的唯一性 (4)私有属性的提案,(类似static,在私有属性或方法前加#)
    Processed: 0.015, SQL: 8