什么';将JavaScript字符串映射到;常数;?
在Better Technology部门的库中,我看到了几个字符串映射到大写字母对象属性的例子,好像在模仿JavaScript中的常量。以下是: 然后,这些“常量”主要插入组成视图的字符串中。发件人:什么';将JavaScript字符串映射到;常数;?,javascript,coffeescript,constants,formbuilder,Javascript,Coffeescript,Constants,Formbuilder,在Better Technology部门的库中,我看到了几个字符串映射到大写字母对象属性的例子,好像在模仿JavaScript中的常量。以下是: 然后,这些“常量”主要插入组成视图的字符串中。发件人: 视图:“” """ 除了不必使用文字外,这样做是否还有性能或体系结构优势?似乎只要使用这根绳子就不那么费力,甚至更快。可怜人的安全宣言 rf.get('field_optons.size') // => undefined (I assume, depends on rf.get) rf.
视图:“”
"""
除了不必使用文字外,这样做是否还有性能或体系结构优势?似乎只要使用这根绳子就不那么费力,甚至更快。可怜人的安全宣言
rf.get('field_optons.size')
// => undefined (I assume, depends on rf.get)
rf.get(Formbuilder.optons.mappings.SIZE)
// => TypeError: Cannot read property 'mappings' of undefined
第一种情况下的输入错误会让代码继续使用错误的值(未定义
)
第二种情况下的输入错误,除非是在最后一个组件中,否则将中止您的程序。Javascript没有常量,因此当您看到这一点时,它实际上更像是用于传达常量意图的代码约定。主要的优点是,您可以在代码中引用该常量十次,当您需要更改该值时,只需在一个位置更改它 编辑:ES6中出现了常量,现在在不同的浏览器中部分支持
只是一种引用常量的语义,类似于用下划线命名私有方法。
view: """
<textarea class='rf-size-<%= rf.get(Formbuilder.options.mappings.SIZE) %>'></textarea>
"""
rf.get('field_optons.size')
// => undefined (I assume, depends on rf.get)
rf.get(Formbuilder.optons.mappings.SIZE)
// => TypeError: Cannot read property 'mappings' of undefined