0
点赞
收藏
分享

微信扫一扫

类的内部工作机制就是原型操作


其实啊,我们操作类的方式跟我们以前操作原型是一样的。

我们知道函数可以作为构造函数,可以实例化出一个对象。

      class User{}      console.dir(User)      function Hd() {}      console.dir(Hd)

类的内部工作机制就是原型操作_javascript

我们可以发现,他们身上都有prototype。所以,

console.log(User === User.prototype.constructor) // 打印值为trueconsole.log(Hd === Hd.prototype.constructor)  // 打印值为true

大家明白了么?其实这个类就是一个语法糖结构,它真正的内部还是一个函数。只不过声明class的时候,让我们面向对象的JS变的更加清晰而已。

来个对比图:我们发现都已经绑到了原型身上。但是class的会更加简洁优雅。


类的内部工作机制就是原型操作_实例化_02

constructor的方法就是为我们对象做属性初始值的,保证每个对象的属性是它独有的。

类的内部工作机制就是原型操作_开发语言_03

所以,这个类没有什么复杂的方法跟概念,只是把我们以前定义的方式变得简化,让我们写起来的时候更加方便。再说直白一点,其实就是包了一个壳子,内部使用的还是原型机制

举报

相关推荐

0 条评论