JS에서 기본 값은 변경 불가능한 값이고 객체는 변경 가능하다는 것을 알고 있지만 정확히 무엇을 의미합니까? 예를 들어Javascript에서 불변성의 정의는 무엇입니까? 모든 프로그램 언어에 대해 동일합니까?
:
var foo = 1;
을 우리는
foo = 2;
이 foo
돌연변이 않았다
모든 언어에 해당되는가요? 아니면 모든 사람이 자체 규칙에 따라 적용합니까?
JS에서 기본 값은 변경 불가능한 값이고 객체는 변경 가능하다는 것을 알고 있지만 정확히 무엇을 의미합니까? 예를 들어Javascript에서 불변성의 정의는 무엇입니까? 모든 프로그램 언어에 대해 동일합니까?
:
var foo = 1;
을 우리는
foo = 2;
이 foo
돌연변이 않았다
모든 언어에 해당되는가요? 아니면 모든 사람이 자체 규칙에 따라 적용합니까?
당신이 불변성과 가변성에 대해 말할 때, 당신은 가치에 대해 얘기 당신은 그들이 상수 선언되어야 할 것이다 불변 변수를 원하는 경우는, 값 적용 및 노트 변수.
JavaScript에서는 문자열과 숫자가 의도적으로 변경되지 않습니다. 어쩌면 그 예제가 당신을 도울 수 있습니다 https://www.sitepoint.com/immutability-javascript/
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
[이전 질문] (https://stackoverflow.com/q/46392335/1048572)와 중복되는 소리 – Bergi
@Pointy 사실이지만 스코프에 불변성이라는 개념을 적용하고 상수를 얻을 수 있습니다. – Bergi