2016-10-26 2 views
3

node.js가 상수로 지정된 모듈 (또는 객체)이 변경되는 것을 허용하는 이유는 무엇입니까? 예를 들어노드 JS가 상수 변경 허용

,이 허용됩니다 :

const EXPRESS = require('express'); 
EXPRESS.someProperty = 'some value'; 

하지만이되지 않습니다 :

const MYCONST = '123'; 
MYCONST = '456'; 

답변

5

const 당신이하지 어떤 기준점에 대한 참조 자체를 변경할 수 없습니다. 워드 프로세서

const a = { name: 'tom' }; 

// you cannot change the reference (point a to something else) 
a = 5; // this is an error 

// but you can change the value stored at that reference with no problem 
a.name = 'bob'; 
+1

모든 좋은 또 다른 객체를 할당 할 수 없습니다 불변이 될 객체가되지 않습니다 실패 답변. 설명 녀석을 가져 주셔서 감사합니다. – Azevedo

2

:

CONST 선언 값을 읽기 전용 기준을 생성한다. 그것은 변수가 식별자를 재 할당 할 수 없다는 것을 의미합니다. 예를 들어, 콘텐츠가 개체 인 경우 개체 자체가 여전히 변경 될 수 있음을 의미합니다.

이것은 노드마다 다르며 Javascript 사양의 일부입니다. 참조 EXPRESS은 상수이며, const을 사용하여 선언하면 참조를 다시 할당 할 수 없습니다.

const EXPRESS = require('express'); 
EXPRESS = 'something else'; 

또한