
[챗지피티와 공부를 해보자] 원시값(Primitive Value)과 참조값(Reference Value), 객체 복사(얕은 복사 Shallow Copy, 깊은 복사 Deep Copy) 객체의 복사를 뽑아줬는데,여기에 연관되어있는 원시값과 참조값 까지 같이 학습해보겠다. 자바스크립트에서의 데이터는 원시값(Primitive Value)과 참조값(Reference Value) 두가지 유형으로 나눌수 있다.이 두 유형은 메모리에 저장되는 방식과 복사되는 방식이 다르다. 원시값(Primitive Value)종류로는 string, number(Infinity, NaN 포함), boolean, undefined, null, symbol, bigint이 있다.값 자체를 저장하며, 변수에 할당할 때 새로운 메모리 공..

[챗지피티와 공부를 해보자] 이터러블(iterable)과 이터레이터(iterator) 이터러블(Iterable)반복가능(=순회할 수 있는) 객체를 말한다. (배열(Array), 문자열(String), Set, Map, arguments, NodeList)Symbol.iterator 메서드를 구현하면 해당 객체가 이터러블(iterable)로 동작할 수 있다.Symbol.iterator가 이터러블 프로토콜을 따르도록 객체를 만드는 메서드이며, 객체에 Symbol.iterator를 구현하면 해당 객체는 이터러블이 된다. 특징이터러블 순회 - for...of 루프 사용 가능이터러블을 개별 요소로 분해 - spread 연산자 (...) 사용 가능이터러블을 배열로 변환 - Array.from() 사용가..

구조분해할당 (Destructuring) 구조분해 할당은 배열이나 객체에서 특정 값을 쉽게 추출하여 변수에 할당할때 쓰는 문법이다. 배열 구조분해할당사용법은 아래와 같고, 배열에 할당된 순서대로 구조분해할당하여 추출해서 사용할 수 있다.const numbers = [1, 2, 3]; // 기존 방식 const a = numbers[0]; const b = numbers[1]; // 구조분해할당 const [x, y, z] = numbers; console.log(x, y, z); // 1 2 3 만약 특정 인덱스의 값을 넘기고 싶다면 해당하는 부분을 비워두고 콤마(,)로 넘어가면된다.const numbers = [1, 2, 3, 4, 5]; // 두 번째 값을 비워두면 건너뛰기가 가능하다const ..