ECMAScript는 JavaScript의 토대를 구성하는 스크립트 언어이다.내부 슬롯과 내부 메서드는 JavaScript 엔진 구현 알고리즘에 필요한 의사 프로퍼티(pseudo property)와 의사 메소드(pseudo method)이다.내부 슬롯과 내부 메서드는
일반적으로 1급 시민의 조건을 다음과 같이 정의한다.1\. 변수(variable)에 담을 수 있다.2\. 인자(parameter)로 전달할 수 있다.3\. 반환값(return value)으로 전달할 수 있다.어떤 언어에서 일급 객체가 존재한다는 것은 해당 언어에서 객체
컴퓨터 안에서 동작하는 모든 프로그램들은 데이터를 다룹니다.데이터를 다룰 때 필요한 핵심 개념이 변수입니다.위 그림처럼 컴퓨터에서 메모리는 데이터를 저장하고,CPU는 메모리에서 데이터를 불러와 처리하기도 하고 결과를 저장하기도 합니다.이러한 과정에서 꼭 필요한 것이 변
스코프란 식별자가 유효한 범위를 말한다.변수는 자신이 선언된 위치에 의해 스코프가 결정된다.전역은 코드의 가장 바깥쪽 영역을 뜻한다.전역에서 선언된 변수인 전역 변수는 전역 스코프를 갖는다.전역 변수는 어디에서든지 참조할 수 있다.지역은 전역 안의 함수 안의 영역을 뜻
1. 데이터 타입이란? 데이터 타입은 데이터의 종류를 말합니다. 자바스크립트에서 모든 데이터는 데이터 타입을 갖습니다. 위 코드에서 a와 b는 같은 데이터 같지만 데이터 타입이 다릅니다. 데이터 타입을 출력해보면 a는 number 타입, b는 string 타입임을 확
값, value 값이란 표현식이 평가된 결과이다. 변수에는 이러한 값이 저장된다. 리터럴, literal 리터럴은 사람이 이해할 수 있는 값의 표기법입니다. 정수 리터럴 문자열 리터럴 Boolean 리터럴 배열 리터럴 위와 같이 다양한 데이터 타입의 값을 리터
연산자 연산자는 하나 이상의 표현식을 연산해 하나의 값을 만듭니다. 이 때 연산의 대상을 피연산자(operand)라고 합니다. 연산자의 종류 산술 연산자, arithmetic operator 할당 연산자, assignment operator 문자열 연결 연산자
객체 타입은 다양한 타입의 값을 하나로 구성한 자료구조이다.객체는 0개 이상의 프로퍼티로 구성된 집합이며,프로퍼티는 키와 값으로 구성된다.프로퍼티 값이 함수일 경우 메서드라고 한다.프로퍼티 키와 값으로 사용할수 있는 값은 다음과 같다프로퍼티 키: string, symb
프로퍼티 어트리뷰트, property attribute 객체의 프로퍼티는 프로퍼티 어트리뷰트를 갖는데, 이 프로퍼티 어트리뷰트가 내부 슬롯이다. 프로퍼티 어트리뷰트의 종류 프로퍼티는 프로퍼티 어트리뷰트를 갖는데, 이 프로퍼티는 데이터 프로퍼티와 접근자 프로퍼티가
함수는 코드 블록 내부의 문들을 하나의 실행 단위로 만든 것이다. 함수는 입력을 받아 출력을 내보내며, 입력을 전달받는 변수를 매개변수(parameter), 입력을 인수(argument), 출력을 반환값(return value) 라고 한다.함수는 만들어 놓으면 몇 번이
객체는 객체 리터럴로 간단하게 생성할 수 있지만,생성자 함수를 사용해 객체(인스턴스)를 생성할 수도 있다.new 연산자와 함께 호출하여 객체를 생성하는 함수를 생성자 함수라 한다.자바스크립트는 Object, String, Boolean, Function, Array,
상속은 객체지향 프로그래밍의 핵심 개념으로 어떤 객체의 프로퍼티나 메서드를 다른 객체가 상속받아 그대로 사용하는 것을 말한다.자바스크립트는 프로토타입 기반의 상속으로 불필요한 중복을 제거한다.최상위 객체인 Object.prototype을 제외한 모든 객체는 자신의 프로
잠재적 오류를 발생시키기 어려운 개발 환경을 위해 ES5부터 strict mode가 추가되었다.strict mode는 자바스크립트 문법을 더 엄격하게 적용하여 문제를 일으킬 수 있는 코드에 대해 명시적 에러를 발생시킨다.전역의 선두 또는 함수 몸체의 선두에 'use s
JavaScript 객체 자바스크립트의 객체는 크게 3가지로 분류할 수 있다. 표준 빌트인 객체 ECMAScipt 사양에 정의된 객체, 실행 환경에 관계없이 언제나 사용할 수 있다. 전역 객체의 프로퍼티로서 제공되므로 별도의 선언 없이 전역 변수처럼 참조할 수 있
this