반응형 WEB139 [JS] 깊은 복사 & 얕은 복사 얕은 복사는 객체의 참조값(주소 값)을 복사하고, 깊은 복사는 객체의 실제 값을 복사합니다. 얕은 복사(shllow Copy) 방법 Object.assign(생성할 객체, 복사할 객체) : 메소드의 첫 번째 인자로 빈 객체를 넣어주고 두 번째 인자로 복사할 객체를 넣어주면 됩니다. 깊은 복사(Deep Copy) 방법 JSON.stringify : 객체를 json 문자열로 변환하는데 이 과정에서 원본 객체와의 참조가 모두 끊어집니다. JSON.parse() : 다시 원래 객체(자바스크립트 객체)로 만들어줍니다. => 사용하기 쉽지만 다른 방법들에 비해 매우 느리다고 한다. 2023. 11. 6. [js] 가변성과 불변성 원시데이터(String, Number, Boolean, undefined, null) - 불변 참조형 데이터(Object, Array, Function) – 가변 값이 바뀌냐 안 바뀌냐가 아니고, 주소가 바뀌냐 안 바뀌냐에 따라 불변/가변을 나눈다. 한번 할당된 메모리 주소는 변하지 않음(데이터 불변성) 선언 할 때 마다 새로운 메모리 주소가 할당(데이터 가변성) 2023. 11. 6. [js] bigint bigint number 보다도 큰 값까지 저장 가능한 객체이다. let x = 1234567890123456789012345n; // 끝에 n을 붙인다. let y = BigInt(1234567890123456789012345); // BigInt 함수를 이용한다. 2023. 11. 6. [js] symbol 심볼(symbol) 심볼은 객체의 프로퍼티 키로 사용된다. 프로퍼티 키란 곧 해당 프로퍼티의 값에 접근하고자 할 때 사용하는 이름이다. JavaScript에서 객체의 프로퍼티 키는 대개 문자열 값이다. 숫자로 쓰는 것도 사실은 문자열이다(내부적으로 문자열로 변환됨). [Symbol의 특징] const sym1 = Symbol(); const sym2 = Symbol(); const sym3 = Symbol('foo'); const sym4 = Symbol('foo'); console.log(sym1 === sym1); // true console.log(sym1 === sym2); // false console.log(sym3 === sym4); // false 1. Symbol 함수를 호출하면 매번 새.. 2023. 11. 6. 이전 1 ··· 8 9 10 11 12 13 14 ··· 35 다음 반응형