728x90 배움 기록/JavaScript2 [JS] || 와 ?? 연산자의 차이 || : 논리적 OR 연산자 (Logical OR) - 왼쪽 피연산자가 falsy 한 값 (`false`, `0`, `null`, `undefined`, `NaN`) 일 경우 오른쪽 피연산자를 평가하고 반환한다 - 즉, 첫 번재 truthy 값을 찾을 때까지 평가를 계속한다는 것을 의미한다 const result = "" || "default"; // result는 "default" ?? : Null 병합 연산자 (Nullish Coalescing Operator) - 왼쪽 피연산자가 `null` 이나 `undefined` 일 경우에만 오른쪽 피연산자를 평가하고 반환한다 - 따라서 `0`, `false`, `""` 같은 값들은 `||` 연산자와 다르게 여기서 유효한 값으로 취급된다 const resul.. 2024. 4. 21. [JS] 얕은 복사(Shallow copy)와 깊은 복사(Deep Copy) 정리 📌 참조 타입 데이터 (array / object) 특징 자바스크립트의 참조 타입의 데이터는 자료를 하나 만들면, 그 자료를 RAM(= 메모리) 이라는 공간에 저장한다. let arr = [1,2,3]; ▲ [1,2,3] 자료는 RAM에 저장되고, arr 변수엔 그 자료가 어디있는지 가리키는 화살표만 담겨있다. * 여기서 화살표란 '값이 저장된 RAM의 주소 값' 를 의미한다. 📌 얕은 복사 (Shallow Copy) 참조 타입의 얕은 복사는 화살표(= RAM의 주소 값)만 복사하는 것을 말한다. let arr = [1,2,3]; let arr2 = arr; arr2[0]++; console.log(arr2 == arr); // true ▲ arr2 라는 다른 변수에 복사를 해도, 화살표만 복사될 뿐이라.. 2023. 9. 7. 이전 1 다음 728x90