배열 메서드 콜백 함수의 인자를 재할당하면 어떻게 될까?
·
개념정리/JavaScript
JavaScript에서 forEach나 map을 사용할 때 메서드의 콜백 함수는 인자로 배열의 각 요소에 대한 참조를 받게 되는데, 이는 배열 안의 객체 자체를 가리키는 참조를 의미합니다.그럼 그 인자를 재할당 하면 원본 배열의 요소가 바뀔까요?let array = [{ a: 1 }, { b: 2 }];array.forEach(item => { item = { c: 3 }; // 새 객체로 재할당});결론부터 말하자면 바뀌지 않습니다. 이유console.log(array); // [{ a: 1 }, { b: 2 }]item 이라는 지역 변수가 참조(주소)값을 가지고 있어서 원본을 변경 할 수 있다고 착각할 수 있지만 이 재할당은 지역 변수의 값을 변경할 뿐, 원본 배열에 영향을 주지 않습니다.const..
[TIL] JavaScript Koans
·
개념정리/JavaScript
Koans는 불교에서 유래된 단어로, 결론을 내리기 전에 이게 왜 맞는지 깊게 고민한다는 의미 코드스테이츠 JavaScript Koans 파트에서 새로 배운 개념들을 정리해 보았다. Types tricky parts of JavaScript console.log(1 + "1") // "11" console.log(123 - "1") // 122 console.log(1 + true) // 2 console.log("1" + true) // "1true" 자바스크립트에는 다소 이해하기 힘든 부분들이 존재한다. 자바스크립트의 별난 부분들을 따로 모아둔 저장소도 있다. https://github.com/denysdovhan/wtfjs 함수의 전달인자 let num = 10; function addTen(num..