2014-10-17 57 views
0

翻閱Better Technology公司的Formbuilder庫,我發現了幾個字符串映射到大寫字母對象屬性的情況,就好像在JavaScript中模仿常量一樣。以下是main.coffee將JavaScript字符串映射到「常量」有什麼好處?

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

這些「常量」,然後大多在字符串組成的觀點插值。從paragraph.coffee

view: """ 
    <textarea class='rf-size-<%= rf.get(Formbuilder.options.mappings.SIZE) %>'></textarea> 
    """ 

是否有從不必使用文字這樣做,除了性能和架構優勢?似乎如果不是更快,就不那麼費力,只是使用字符串。

+1

只是語義的引用什麼預期是一個常量,類似命名的私有方法以下劃線。 – 2014-10-17 21:31:07

回答

1

窮人的聲明安全。

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 

第一種情況下的拼寫錯誤讓您的代碼繼續執行錯誤的值(undefined)。

在第二種情況下,除非它在最後一個組件中,否則會中止程序。

相關問題