2014-10-17 2 views
0

더 나은 기술 부서의 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

밑줄로 개인 방법을 이름과 비슷한, 일정한 될 것으로 예상된다 무엇을 참조하기위한 단지 의미. –

답변

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)으로 진행되도록합니다.

마지막 구성 요소에 있지 않으면 두 번째 경우의 오타가 프로그램을 중단합니다.

1

자바 스크립트에는 상수가 없으므로 이것을 볼 때 상수의 의도를 전달하는 데 사용되는 코드 규칙이 더 많습니다. 주된 장점은 코드에서이 상수를 10 번 참조 할 수 있으며 값을 변경해야하는 경우 한 번에 변경하면됩니다.

편집 : 상수는 ES6에 제공되며 다양한 브라우저에서 부분적으로 지원됩니다.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const