본문 바로가기
모바일 APP/React-Native

가변 변수와 불변 변수

by 살길바라냐 2021. 12. 9.
반응형

const를 사용하면 불변변수로 인해 

값을 변경할수 없지만

push, splice, pop 함수를 사용하면 변경이 가능하다
이를 무결성 제약 조건에 위배되었다고 한다.

그래서 무결성을 유지하면서 무결성 변수를 수정하는 방법은

값을 추가시 : push 함수 대신 concat() 함수를

삭제시:  pop(), shift()함수 대신 slice(), concat() 함수에 전개 연산자를

조합하여 사용하면 된다.  

const arr3 = [];
const arr4 = arr3.concat(1); // arr4 = [1]
const arr5 = [...arr4, 2, 3]; // arr5 = [1, 2, 3]
const arr6 = arr5.slice(0, 1); // arr6 = [1], arr5 = [1, 2, 3]
const [first, ...arr7] = arr5; // arr7 = [2, 3], first = 1

const obj3 = { name: '내이름', age: 20 };
const obj4 = { ...obj3, name: '새이름' }; // obj4 = { name: '새이름', age: 20}
const { name, ...obj5 } = obj4; // obj5 = { age: 20 }

const arr = [1, 2, 3];
// 가변 변수를 사용한 예
for (let i = 0; i < arr.length; i++) {
  console.log(arr[i]);
}
// iterator 방식의 for-in 루프와 함께 불변 변수를 사용한 예
for (const item in arr) {
  console.log(item);
}

// forEach 함수를 활용한 예
arr.forEach((item, index) => {
  console.log(item);
  console.log(index);
});
728x90