2017-10-02 5 views
0

JS에서 기본 값은 변경 불가능한 값이고 객체는 변경 가능하다는 것을 알고 있지만 정확히 무엇을 의미합니까? 예를 들어Javascript에서 불변성의 정의는 무엇입니까? 모든 프로그램 언어에 대해 동일합니까?

:

var foo = 1; 

을 우리는

foo = 2; 

foo 돌연변이 않았다

있나요?

모든 언어에 해당되는가요? 아니면 모든 사람이 자체 규칙에 따라 적용합니까?

+4

가변성의 개념은 변수가 아닌 * 값 *에 적용됩니다. – Pointy

+2

[이전 질문] (https://stackoverflow.com/q/46392335/1048572)와 중복되는 소리 – Bergi

+0

@Pointy 사실이지만 스코프에 불변성이라는 개념을 적용하고 상수를 얻을 수 있습니다. – Bergi

답변

2

당신이 불변성과 가변성에 대해 말할 때, 당신은 가치에 대해 얘기 당신은 그들이 상수 선언되어야 할 것이다 불변 변수를 원하는 경우는, 값 적용 및 노트 변수.

JavaScript에서는 문자열과 숫자가 의도적으로 변경되지 않습니다. 어쩌면 그 예제가 당신을 도울 수 있습니다 https://www.sitepoint.com/immutability-javascript/

0

Immutable Object은 상태를 만들면 상태를 변경할 수없는 상태입니다.

var str = 'hello world'; 
 

 
str[0] = '1'; 
 

 
// value remains unchanged 
 
console.log(str); 
 

 
const x = 1; 
 
// err cannot change value 
 
x = 2; 
 
console.log(x);
@Pointy가 말했듯이