자바스크립트의 경우 변수를 선언할 때 var, let, const 키워드를 사용한다.ES6 이전부터는 변수 선언을 오로지 var 키워드만을 이용했다고 한다.그렇다면 변수 선언에 var 외에 let, const를 사용해야 하는 이유가 있을까?var키워드는 여러 단점을
연산자는 하나 이상의 표현식을 대상으로 산술, 할당, 비교, 논리, 타입, 지수 연산, 등을 수행해 하나의 값을 만든다. 1. 산술 연산자 1) 이항 산술 연산자 > 이항 산술 연산자는 2개의 피연산자를 산술 연산하여 숫자 값을 만든다. 모든 이항 산술 연산자는 피연
자바스크립트는 객체 기반 프로그래밍 언어이고, 자바스크립트를 구성하는 거의 모든 것이 객체이다. 원시값을 제외한 나머지 값(함수, 배열, 정규 표현식 등)은 모두 객체이다.객체는 0개 이상의 프로퍼티로 구성된 집합이며, 프로퍼티는 키와 값으로 구성된다.여기서 "name
본 장은 자바스크립트 함수의 개념을 이해하는 것을 목표로 한다.함수는 자바스크립트에서 가장 중요한 핵심 개념이다. 스코프, 실행 컨텍스트, 클로저, 생성자 함수에 의한 객체 생성, 메서드, this. 프로토타입, 모듈화 등 중요한 개념들이 모두 함수와 깊은 관련이 있기
자바스크립트가 제공하는 7가지 데이터 타입(숫자, 문자열, 불리언, null, undefined, 심벌, 객체 타입)은 크게 원시타입과 객체타입으로 구분할 수 있다.원시 타입의 값은 변경 불가능한 값으로 변수에 할당하면 변수(확보된 메모리 공간)에는 실제 값이 저장된다
내부 슬롯과 내부 메서드는 자바스크립트 엔진의 구현 알고리즘을 설명하기 위해 ECMAScript 사양에서 이용하는 의사 프로퍼티(pseudo property)와 의사 메서드(pseudo method)다.내부 슬롯과 내부 메서드의 경우 ECMAScript 사양에 정의된
new 연산자와 함께 Object 생성자 함수를 호출하면 빈 객체를 생성하여 반환한다. 빈 객체 생성 후 프로퍼티 또는 메서드를 추가하여 객체를 완성할 수 있다.생성자 함수(constructor)란 new 연산자와 함께 호출하여 객체(인스턴스)를 생성하는 함수를 말한다
다음과 같은 조건을 만족하는 객체를 일급 객체라고 한다.1) 무명의 리터럴로 생성할 수 있다. 즉, 런타임에 생성이 가능하다.2) 변수나 자료구조(객체, 배열 등)에 저장할 수 있다.3) 함수의 매개변수에 전달할 수 있다.4) 함수의 반환값으로 사용할 수 있다.자바스
자바스크립트는 명령형, 함수형, 프로토타입 기반, 객체지향 프로그래밍을 지원하는 멀티 패러다임 언어이다. 자바스크립트의 경우 객체지향 프로그래밍의 특징인 접근 제한자(public, private, prtected 등)가 없어서 객체지향 언어가 아니라고 생각할 수 있
1) 표준 빌트인 객체 : ECMAScript 사양에 정의된 객체, 애플리케이션 전역의 공통 기능 제공, 자바스크 립트 실행 환경과 관계없이 사용할 수 있음. 표준 빌트인 객체는 전역 객체의 프로퍼티로서 제공. 별도 선언 없이 전역 변수처럼 언제나 참조 가능2)
strict mode(엄격 모드)란 자바스크립트 언어의 문법을 좀 더 엄격히 적용하여 오류를 발생시킬 가능성이 높거나 자바스크립트 엔진의 최적화 작업에 문제를 일으킬 수 있는 코드에 대해 명시적인 에러를 발생시킨다.stirct mode가 문법을 좀 더 엄격히 적용한다고
실행 컨텍스트(execution context)는 자바스크립트의 동작 원리를 담고 있는 핵심 개념이다. 자바스크립트가 스코프를 기반으로식별자와 식별자에 바인딩된 값(식별자 바인딩)을 관리하는 방식과 호이스팅 발생 이유, 클로저 동작 방식 등을 실행 컨텍스트를 통해 이해