【问题标题】:Cant get constructor(value1, value2) { this.value1 = value1 this.value2 = value2 }无法获取构造函数(value1,value2){ this.value1 = value1 this.value2 = value2 }
【发布时间】:2020-01-17 21:01:34
【问题描述】:
谁能解释一下这段代码的作用:
constructor(value1, value2) {
this.value1 = value1
this.value2 = value2
}
我是这种语言的新手,这种东西很奇怪。用最简单的话,谁能解释我?谢谢
【问题讨论】:
标签:
javascript
reactjs
react-native
ecmascript-6
babeljs
【解决方案1】:
在 ReactJS 中,构造函数主要用于初始化状态或绑定方法。
constructor(props) {
super(props);
}
构造函数只有一个参数props。如果您从父元素发送一些数据,那么您将获得 props 中的值。
例如,如果您要发送两个值 value1 和 value2。然后在构造函数中你可以使用like
constructor({ ...props }) {
super(props);
this.value1 = props.value1;
this.value2 = props.value2;
}
【解决方案2】:
这称为构造函数。它存在于一个类中,其目的是创建类对象。当你调用一个类构造函数时,你会得到一个新的类对象。构造函数中的this 指的是创建的对象。 this.value1 = value1 的意思是“在您现在正在创建的类对象上创建一个名为 value1 的新属性,并为其分配 value1 的值(构造函数接收的参数)。
一个更完整的例子是:
class Example{
constructor(value1,value2){
this.value1= value1;
this.value2 = value2;
}
}
let myExample = new Example("first value","second value");
console.log(myExample);
输出将是具有这些值的类对象:
[object Object] {
value1: "first value",
value2: "second value"
}