본문 바로가기

전체 글36

[JavaScript] 실행 컨텍스트 (Execution Context) 정의 실행 컨텍스트는 실행하려는 자바스크립트 코드와 코드를 실행할 때 필요한 정보를 담고있는 특수한 환경입니다. 즉 코드를 실행하는 데 필요한 모든 데이터를 가지고 있는 환경을 실행 컨텍스트라고 할 수 있습니다. 실행 컨텍스트는 전역 컨텍스트(Global Context), 함수 컨텍스트(Function Context)로 나눌 수 있습니다. 전역 컨텍스트는 자바스크립트 코드를 실행하게 되면 반드시 생성되는 컨텍스트로, 웹에서는 window 객체, NodeJS 환경에서는 global 객체를 생성합니다. 함수 컨텍스트는 함수 선언문이 실행될 때 마다 함수별로 실행되는 컨텍스트입니다. 이 컨텍스트에는 함수 실행에 대한 모든 정보를 갖고 있습니다. 자바스크립트의 컨텍스트는 콜 스택(Call Stack) / 실행 .. 2023. 11. 20.
[JavaScript] 프로토타입 (Prototype) 자바스크립트는 프로토타입 기반(prototype-based)으로 객체지향 프로그래밍(OOP, Object Oriented Programming)을 지원하는 프로그래밍 언어입니다. 자바스크립트는 객체지향 프로그래밍의 핵심 개념인 상속(Inheritance)을 프로토타입 기반으로 구현하며 코드 재사용을 줄입니다. const testObj = {}; console.log(testObj.__proto__); // [Object: null prototype]{} console.log(testObj.__proto__ === Object.prototype); // true __proto__와 prototype 자바스크립트에서는 객체의 프로토타입에 접근하기 위해 __proto__라는 접근자 프로퍼티를 사용해서 현재 객.. 2023. 11. 16.
[JavaScript] 프로퍼티 어트리뷰트(Property Attribute) 프로퍼티 어트리뷰트 자바스크립트에서 객체를 생성할 때, 객체에서 특별하게 사용되는 내부 속성값들이 있습니다. 이를 프로퍼티 어트리뷰트(Property Attribute)라고 합니다. 자바스크립트 프로퍼티 어트리뷰트들은 크게 4가지의 종류로 나뉘어집니다. 1. value 2. writable 3. enumerable 4. configurable 이 값들은, 자바스크립트에서 객체를 생성할 때 자동으로 기본값으로 정의합니다. Object의 static 메서드인 getOwnPropertyDescriptor를 사용해서 프로퍼티 어트리뷰트들을 확인할 수 있습니다. 이때, Object.getOwnPropertyDescriptor 메서드는 프로퍼티 어트리뷰트 정보를 제공하는 프로퍼티 디스크립터(Property Desc.. 2023. 11. 15.
[JavaScript] 객체 리터럴(Object Literal) 객체 리터럴의 정의 자바스크립트에서 객체(Object)란 키-값 쌍으로 이루어진 데이터를 의미합니다. 원시(Primitive) 데이터 타입인 string, number, symbol, undefined, null, boolean 총 6개를 제외하고 자바스크립트의 데이터 타입들은 모두 객체 타입입니다. 이 객체 타입을 생성하는 방법 중의 하나로 객체 리터럴이 있습니다. 객체 리터럴은 중괄호({...})안에 0개 이상의 프로퍼티를 정의하는 객체 생성 표기법을 의미합니다. 객체 리터럴을 사용하면 아래 코드처럼 일반적이고 간단한 방법으로 객체를 생성할 수 있습니다. 프로퍼티의 값이 함수인 경우 메서드라고 부릅니다. const user = { name: 'Woo', getName: function() { cons.. 2023. 11. 14.