안녕하세요. 오늘은 기본 자료형과 참조 자료형의 저장 방식과 비교 방식에 대해 작성해보도록 하겠습니다. 기본 자료형(Primitive Types)number, string, boolean, null, undefined, symbol과 같은 자료형이며, 값이 스택(Stack)에 직접 저장이 됨값 자체를 비교하므로 같은 값이라면 ===를 사용해도 true를 반환함let a = 10;let b = 10;console.log(a === b); // true 참조 자료형(Reference Types)객체(Object), 배열(Array), 함수(Function) 등이 포함되며 힙(Heap)에 실제 데이터가 저장되고, 스택에는 해당 데이터가 저장된 힙의 주소가 저장됨참조 자료형의 === 비교는 주소가 같은..
안녕하세요.제가 예전에 한 회사 면접을 볼 때 "const로도 값을 변경할 수 있는데 어떤 경우인지 아십니까?"라는 질문을 받았었는데요, 메모리 구조에 대한 지식이 부족했어서 힙? 스택? 어쩌고저쩌고.. 어버버 거렸던 기억이 문뜩 납니다..(아시는 것 같은데 왜 대답을 못 하시죠? 더 생각하고 대답해보세요! 라고 하셨는데 저는 정말 몰랐다구요ㅠㅠㅜㅜㅜ...)무튼..! 그래서 오늘은 const로 선언을 했을 때 어떤 경우에 값을 바꿀 수 있는지 정리해보려고 합니다. const?변수에 재할당을 허용하지 않는 상수를 선언할 때 사용즉, const로 선언한 변수는 한 번 할당된 값이 고정되고 다른 값을 다시 할당하려고 하면 에러가 발생const num = 10;num = 20; // Error!위에서 num이..
안녕하세요. 오늘은 자바스크립트 문법인 구조 분해 할당에 대해서 포스팅하겠습니다. 구조 분해 할당(Destructuring Assignment)배열이나 객체의 값을 간편하게 추출하여 변수에 할당할 수 있는 문법복잡한 데이터 구조에서 값을 꺼내는 작업을 간단하게 할 수 있음 배열에서 구조 분해 할당배열에서 구조 분해할 때 순서대로 값을 변수에 할당함const fruits = ['apple', 'banana', 'orange'];const [first, second, third] = fruits;console.log(first); // appleconsole.log(second); // bananaconsole.log(third); // orange 객체에서 구조 분해 할당객체에서는 속성의 이름이 변수..
안녕하세요. 오늘은 나머지 매개변수와 전개 연산자에 대해 포스팅하겠습니다. 나머지 매개변수(Rest Parameter)나머지 매개변수란?함수의 인수를 처리하는 데 사용됨매개변수 목록 중 나머지 인수들을 배열로 모아서 함수 내에서 사용할 수 있게 해줌 사용법함수 정의에서 매개변수 목록의 마지막에 '...'를 붙여 사용함전달된 나머지 인수들은 배열 형태로 묶여서 함수 내에서 처리됨function multiply(multiplier, ...numbers) { return numbers.map(number => miltiplier * number);}console.log(multiply(2, 1, 2, 3)); // [2, 4, 6]위 코드에서 첫 번째 인수는 muitiplier로 사용되고 나머지 인수..
안녕하세요. 오늘은 유튜브 코드팩토리님의 자바스크립트 강의 영상을 일부 참고하여 for ..in, for ...of의 차이점에 대해 작성하도록 하겠습니다. 자바스크립트에서는 배열이나 객체의 반복을 위해 사용하는 두 가지 반복문 for ...in, for ...of이 있습니다.for ...in객체의 속성을 반복할 때 사용객체의 모든 열거 가능한 속성 키를 순회하며 배열에서도 사용할 수 있지만 인덱스 값을 반환함예시1) 객체에서 사용const yuJin = { name : '안유진', year : 2003, group : '아이브'};for (let key in yuJin) { console.log(key); // name, year, group (객체의 키)};여기서는 객체 yuJ..
안녕하세요. 오늘은 자바스크립트의 호이스팅에 대해 포스팅하도록 하겠습니다. 호이스팅(Hoisting)이란?자바스크립트에서 변수 선언과 함수 선언이 실제 코드가 실행되기 전에 코드의 최상단으로 이동된 것처럼 동작하는 현상을 의미합니다. 하지만 호이스팅은 실제로 코드의 물리적인 이동을 의미하지 않으며 내부적으로는 자바스크립트가 실행 전에 변수와 함수의 선언을 미리 처리하는 방식입니다.이로 인해서 선언된 변수를 그 선언문보다 앞서 참조할 수 있지만 변수의 값은 초기화된 값이 아닌 기본 값을 얻게 됩니다. 변수의 경우 'var' 키워드로 선언된 변수는 'undefined'로 초기화되고 함수 선언은 코드 어디에서든 호출할 수 있게 됩니다. 변수 선언의 호이스팅'var'로 선언된 변수는 호이스팅이 발생하며, 선언..