美文网首页
js prototype

js prototype

作者: 小白之白小明 | 来源:发表于2017-12-22 23:33 被阅读16次

this 指向

箭头函数里的 this 指向声明函数的地方,也就是组件内,所以不用 bind(this)
普通函数里 this 指向调用它的地方,在没有bind 的时候指向函数,而不指向组件,所以要想让 this 指向组件必须使用 bind()

在类的实例上面调用方法,其实就是调用原型上的方法。

class B {}
let b = new B();

b.constructor === B.prototype.constructor // true

prototype对象的constructor属性,直接指向“类”的本身,这与 ES5 的行为是一致的。
Point.prototype.constructor === Point // true

constructor() 方法

constructor方法是类的默认方法,通过new命令生成对象实例时,自动调用该方法。一个类必须有constructor方法,如果没有显式定义,一个空的constructor方法会被默认添加。
所有关于组件自身的状态的初始化工作都会放在 constructor 里面去做。

Props:

props是property的缩写,可以理解为HTML标签的attribute。

不可以使用this.props直接修改props,因为props是只读的,props是用于整个组件树中传递数据和配置。

在当前组件中访问 props,通过this.props.属性名 获取。props属性是父组件控制子组件的单向数据流传输的关键

super()

组件间的沟通方式(数据传递)

  • 父组件更新组件状态 ——> props ——> 子组件更新
  • 子组件更新父组件状态 :需要父组件通过 props 传递回调函数 ——> 子组件调用触发

相关文章

网友评论

      本文标题:js prototype

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