我已经开始学习ReactJS,我对此情况有疑问。 const
在声明之前使用,不会引发错误。为什么?
import React from "react";
export class item extends React.Component {
render() {
return <div style={customStyle}>test</div>;
}
}
const customStyle = { color: red };
export default item;
答案 0 :(得分:3)
对customStyle
的引用位于函数内部,因此仅在调用该函数(即已处理所有定义之后)时才能对其进行解析。
答案 1 :(得分:1)
使用表示访问。如果您要构造一个新的项目实例并在const customStyle
行之前调用它的render方法,那么它将抛出。
JS并不从语义上强制要求在初始化之前不能使用用let
或const
声明的变量,这只是运行时错误。
如果访问根本不存在的变量,则可以看到相同的行为:
function see() {
console.log(a); // not a semantical error, this is totally fine ...
}
// ...unless you try to execute it
see();