
호이스팅(Hoisting)은 JavaScript의 고유한 동작 방식으로, 변수와 함수 선언이 실제 코드 실행 전에 메모리 상에서 자동으로 상단으로 끌어올려지는 현상입니다.

1. 타입 변환이란? 자바스크립트의 모든 값은 타입이 있습니다. 값의 타입은 개발자의 의도에 따라 다른 타입으로 변환할 수 있습니다. 명시적 타입 변환 (Explicit Coercion) 개발자가 의도적으로 값의 타입을 변환하는 것. 타입 캐스팅(Type Casting) 이라고도 부름. 암묵적 타입 변환 (Implicit Coercion) 자바스...

자바스크립트의 데이터 타입에는 숫자, 문자열, 불리언, null, undefined, 심벌, 객체 타입으로 총 7가지크게 '원시 타입'과 '객체 타입'으로 구분한다.

13.1 스코프 var키워드로 선언된 변수는 같은 스코프 내에서 중복 선언이 허용된다. 13.2 스코프의 종류 전역과 지역 2가지 전역 전역은 전역스코프를 만든다. 전역변수는 어디서든지 참조할 수 있다. 지역 지역이란 함수 몸체 내부를 의미 지역은 지역스코프를 만든다. 지역변수는 자신의 지역 스코프와 하위 지역 스코...

14.1 변수의 생명 주기 14.1.1 지역변수의 생명주기 변수는 자신이 선언된 위치에서 생성되고 소멸한다. 전역 변수의 생명주기 애플리케이션의 생명주기 함수 내에서 선언된 지역 변수 함수가 호출되면 생성되고, 함수가 종료되면 소멸한다. 함수의 생명주기 예제를 통해 함수의 생명 주기 과정을 살펴보...

1번 다음 코드의 프로토타입이 생성되는 시점에 대해 설명해주세요 Non-constructor 는 프로토타입이 생성되지 않으므로 undefined 2번 다음 중 틀린 설명은? 프로토타입 체인은 객체의 속성을 찾을 때 객체에서부터 시작해 상위 프로토타입 객체로 거슬러 올라간다 프로토타입 체인의 최상위에 위치하는 객체는 언제나 Object.prototy...

22.1 this 키워드 객체 생성에 대해 먼저 생각해보자. 객체 프로퍼티와 메서드를 하나의 논리적인 단위로 묶은 자료구조 메서드가 자신이 속한 객체의 프로퍼티를 참조하려면, 자신이 속한 객체를 가리키는 식별자를 참조할 수 있어야 한다. 객체를 생성하는 방식은 몇가지? 객체 리터럴 방식으로 생성 생성자 함수 방식으로 생성 1. 객체...

1. 다음 코드의 실행 결과를 예측하고, 왜 그렇게 동작하는지 설명하세요. 답변 이 문제는 함수 선언문과 함수 표현식의 호이스팅 특징에 관한 문제입니다. 함수선언문은 함수 전체가 호이스팅되어 코드의 최상단으로 끌어올려져 사용가능합니다. 따라서 Function Declaration Function Expression 2. 다음 중 자바스크립트 함수에 ...

Callback은 함수 실행 후 다시 호출되는 함수로, 비동기 작업 완료시 호출될 수 있습니다. 하지만 중첩될 경우 콜백 지옥 문제를 일으킬 수 있습니다. Promise는 비동기 작업의 성공, 실패를 처리하는 객체로, Callback보다 가독성이 좋고 체인 형식으로 작업을 이어나갈 수 있습니다. then, catch, finally를 사용해 비동기 작업의 ...
😄 자바스크립트에서 깊은 복사(Deep Copy)와 얕은 복사(Shallow Copy)는 객체나 배열과 같은 복합 데이터 구조를 복사할 때 중요한 개념입니다. 얕은 복사는 객체의 최상위 속성만 복사하고, 중첩된 객체는 원본과 참조를 공유합니다. 반면 깊은 복사는 객체의 모든 속성을 재귀적으로 복사하여 원본과 완전히 독립적인 복사본을 생성합니다. 따라서...