const
声明本身并不能真正保护您的数据免受突变。为确保您的数据不会发生变化,JavaScript提供了一个Object.freeze
函数来防止数据突变。对象冻结后,您将无法再从中添加,更新或删除属性。任何更改对象的尝试都将被拒绝而不会出现错误。 让obj = {
名称:“FreeCodeCamp”
点评:“真棒”
};
Object.freeze(OBJ);
obj.review =“坏”; //将被忽略。不允许变异
obj.newProp =“测试”; //将被忽略。不允许变异
的console.log(OBJ);
// {name:“FreeCodeCamp”,评论:“很棒”}
Object.freeze
来防止数学常量发生变化。您需要冻结MATH_CONSTANTS
对象,以便没有人能够更改PI
的值,添加或删除属性。 const
关键字。
testString: 'getUserInput => assert(getUserInput("index").match(/const/g), "Do not replace const
keyword.");'
- text: MATH_CONSTANTS
应该是一个常量变量(使用const
)。
testString: 'getUserInput => assert(getUserInput("index").match(/const\s+MATH_CONSTANTS/g), "MATH_CONSTANTS
should be a constant variable (by using const
).");'
- text: 请勿更改原始MATH_CONSTANTS
。
testString: 'getUserInput => assert(getUserInput("index").match(/const\s+MATH_CONSTANTS\s+=\s+{\s+PI:\s+3.14\s+};/g), "Do not change original MATH_CONSTANTS
.");'
- text: PI
等于3.14
。
testString: 'assert(PI === 3.14, "PI
equals 3.14
.");'
```