ES6 2

Spread operator: unshift보단 전개연산자를 쓰자!

배열에 원소를 추가할 때 unshift를 쓰곤 한다. arr = [2, 3, 4] arr.unshift(1) arr.unshift(0) console.log(arr) // [0, 1, 2, 3, 4] 그러나 unshift는 다음과 같이 배열의 값을 직접 참조하여 원본 배열에 변형을 일으키는데, 불변성의 이슈에서나 성능 상의 이유에서나 좋지 못하다. arr = [2, 3, 4] // 0: 2, 1: 3, 2: 4 arr.unshift(1) // 0: 1, 1: 2, 2: 3, 3: 4 arr.unshift(0) // 0: 0, 1: 1, 2: 2, 3: 3, 4: 4 보시다시피 배열의 원소와 인덱스의 연결이 전부 끊어지고 새로운 값이 할당된다. 중간에 새로운 원소가 끼어들거나, 최악의 경우 첫 번째에 새로..

Javascript/core 2021.04.05

var, let, const 비교하기

javascript에는 변수를 선언할 수 있는 3가지 키워드가 있습니다. 그리고 이와 관련된 내용을 검색해서 들어오셨다면 셋이 어떻게 다른지 알고 싶으실 것입니다. 각설하고, var, let, const는 두 가지의 기준으로 비교할 수 있습니다. 재선언이 가능한가? 재할당이 가능한가? var의 경우 재선언과 재할당이 모두 가능합니다. var a = 5; a = 4; console.log(a) // 4 (재할당 ok) var a = 3; console.log(a) // 3 (재선언 ok) var a; console.log(a) // undefined (재선언 ok) 개인적으로 재선언이란 개념 자체가 바람직한 프로그래밍 문법이 아니라고 생각합니다. 변수의 값을 변경하고 싶다면 재할당으로도 충분하기 때문입니다..

Javascript/core 2020.12.19