在与ES6的React中,构造函数(prop)不会引发错误。为什么?

时间:2018-05-11 12:24:32

标签: javascript reactjs ecmascript-6

我到处找到的正确代码如下:

props

但我错误地将prop误认为是glob。代码仍然运行良好,没有出现任何错误。我找不到为什么会这样。

3 个答案:

答案 0 :(得分:0)

变量名称是constructor()范围的本地变量,因此您所谓的变量并不重要。

答案 1 :(得分:0)

参数和参数名称不必相同。因此,虽然您传递道具,但您可以将其称为“#P; myPassedVariables"," prop"或者你认为合适的任何其他东西。然而,我会使用Typescript缩短整个路径:

class Person {
    private firstName: string;
    private lastName: string;

    constructor(firstName: string, lastName: string) {
        this.firstName = firstName;
        this.lastName = lastName;
    }
}

要:

class Person {
    constructor(private firstName: string, private lastName: string) {
    }
}

更短和自动实例化,无需像许多其他语言一样单独重写每个变量。

答案 2 :(得分:0)

构造函数是一个javascript函数。它所采用的论据是位置参数。这意味着值由它们在参数列表中的位置决定,而不是由它们的名称决定。 Javascript没有命名参数。

constructor React.Component的第一个参数包含在创建时传递给它的道具(第二个是上下文)。在您的实现中使用哪个名称并不重要。