Language/JavaScript28 생성자 함수에 의한 객체 생성 생성자 함수생성자 함수생성자 함수(constructor)란 new 연산자로 호출했을 때 인스턴스를 생성하는 함수를 말합니다.객체 리터럴에 의한 객체 생성 방식의 문제점객체 리터럴 방식으로 객체를 생성하는 방식은 간단하지만 동일한 구조의 프로퍼티를 반복해서 생성해야 할 때는 매번 같은 프로퍼티와 메서드를 기술해야 하기 때문에 상당히 불편합니다. 반면, 생성자 함수로 객체를 생성하면 클래스처럼 템플릿 역할을 하기 때문에 동일한 프로퍼티 구조를 갖는 객체를 간편하게 생성할 수 있습니다.Object 생성자 함수new 연산자와 함께 Object 생성자 함수를 호출하면 빈 객체를 생성하여 반환합니다.const obj = new Object()생성자 함수의 인스턴스 생성 과정생성자 함수의 역할은 인스턴스를 생성하고 .. 2025. 3. 15. 프로퍼티와 어트리뷰트 내부 슬롯과 내부 메서드내부 슬롯과 메서드는 자바스크립트 엔진의 구현 알고리즘을 설명하기 위해 ECMAScript 사양에서 사용하는 의사 프로퍼티와 의사 메서드입니다. 접근이 가능하도록 공개된 프로퍼티는 아니지만, 일부는 간접적으로 접근이 가능합니다. 모든 객체는 [[Prototype]] 내부 슬롯을 가지며, __prpto__를 통해 간접적으로 접근이 가능합니다.프로퍼티 어트리뷰트와 프로퍼티 디스크립터 객체프로퍼티 어트리뷰트프로퍼티를 생성할 때 자바스크립트는 프로퍼티의 상태를 나타내는 프로퍼티 어트리뷰트를 자동으로 정의합니다. 프로퍼티 상태로는 아래 4가지가 있습니다.값(value)값의 갱신 가능 여부(writable)열거 가능 여부(enumerable)for…in 문/ Object.keys 메서드 사용.. 2025. 3. 13. 스코프 스코프스코프는 식별자가 유효한 범위를 말하며, 유효한 범위란 다른 코드가 식별자를 참조할 수 있는 범위입니다. 식별자의 스코프는 식별자가 선언된 위치에 의해 결정됩니다.렉시컬 환경렉시컬 환경은 코드가 어디서 실행되며 주변에 어떤 코드가 있는지를 의미합니다. 이를 구현한 것이 실행 컨텍스트이며, 모든 코드는 실행 컨텍스트에서 평가되고 실행됩니다.스코프 종류스코프는 전역과 지역으로 나뉩니다.전역 스코프전역 스코프를 갖는 전역 변수는 어디서든지 참조가 가능합니다.지역 스코프지역 스코프를 갖는 지역 변수는 자신의 지역 스코프와 하위 지역 스코프에서 유효합니다.스코프 체인스코프 체인은 스코프가 계층적으로 연결되는 것을 말합니다. 자바스크립트 엔진은 상위 스코프로 이동하며 선언된 변수를 검색합니다.변수 선언 키워드.. 2025. 3. 13. 함수 함수함수는 일련의 과정을 문으로 구현하고 코드 블록으로 감싸서 하나의 실행단위로 정의한 것입니다. 함수는 3가지 요소로 구성되며, 정의만으로 실행되지 않고 명시적으로 호출해야 합니다.매개변수(parameter): 함수 내부로 입력을 전달받는 변수인수(argument): 입력반환값(return value): 출력함수 정의함수를 정의하는 방식에는 4가지 방법이 있습니다. 두 매개변수를 더하는 add 함수를 통해 각각의 방법을 살펴보겠습니다.함수 선언문함수 선언문에서는 함수 이름을 필수로 적어줘야 하며, 표현식이 아닌 문이기에 변수에 할당은 불가합니다. 호이스팅 시 함수 객체로 초기화되기 때문에 선언 위치와 무관하게 함수를 호출할 수 있습니다.function add(x, y) { return x + y;.. 2025. 3. 13. 이전 1 2 3 4 5 ··· 7 다음