我正在阅读 http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml当我在 Constant 部分注意到注释注释时:
/**
* The number of seconds in each of the given units.
* @type {Object.<number>}
* @const
*/
然后指南继续说“这允许编译器强制执行常量。”
这是 v8 的东西吗?这是在哪里记录的?
我脑子里浮现出一种可能性,也许,只是也许,我可以为 v8(或其他)提供类型信息!
最佳答案
Google 的 Closure Compiler可以接受JSDoc comments ,它会生成警告或错误。
例如,如果您 try使用高级优化编译以下代码:
/** @const */ var MY_BEER = 'stout';
MY_BEER = 'bar';
它会产生一个错误:
Number of errors: 1
JSC_CONSTANT_REASSIGNED_VALUE_ERROR: constant MY_BEER assigned a value more than once at line 5 character 8
他们不鼓励使用 const
关键字,因为它不是 ECMAScript 标准的一部分。
关于javascript - @const 在 javascript 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3421104/