javascript - 将 JavaScript 字符串映射到 "constant"有什么好处?

标签 javascript coffeescript constants formbuilder

翻看更好技术部的Formbuilder库中,我看到了几种字符串映射到大写字母对象属性的情况,就像模仿 JavaScript 中的常量一样。以下内容在 main.coffee :

mappings:
      SIZE: 'field_options.size'
      UNITS: 'field_options.units'
      LABEL: 'label'
      FIELD_TYPE: 'field_type'
      ...

然后,这些“常量”大部分被插入到构成 View 的字符串中。来自 paragraph.coffee :

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

第一种情况下的拼写错误会让您的代码以错误的值(未定义)继续进行。

第二种情况下的拼写错误,除非是在最后一个组件中,否则将中止您的程序。

关于javascript - 将 JavaScript 字符串映射到 "constant"有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26418099/

相关文章:

enums - coffeescript 和枚举值

c# - C# 中的 const 和 static 有什么区别?

c++ - 如何使用 lambda 避免代码重复 const 和非常量集合处理

javascript - VSCODE 跳转到JS文件定义(不是.d.ts文件)

javascript - 灯箱图像调整大小错误

javascript - 对 javascript 中的构造函数感到困惑

javascript - Coffee 脚本 - 保留类上下文和事件上下文

javascript - Google Charts DataView 工具提示 HTML 呈现为字符串

ios - 初始化前使用的常量 'error'

没有 src 错误的 JavaScript 图像容器