undefine는 자바스크립트에서 제공하는 원시 타입의 값(primitive value)이다.자바스크립트의 독특한 특징으로 변수를 선언한 이후, 아직 변수에 값을 할당하지 않아도 확보된 메모리 공간에 자바스크립트 엔진에 의해 undefinde라는 값이 암묵적으로 할당되
값(value)는 식(표현식(expression)이 평가(evaluate)되어 생성된 결과를 말한다.평가란 식을 해석해서 값을 생성하거나 참조하는 것을 의미한다.변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 또는 메모리 공간을 식별하기 위해 붙인 이름이다.그러므
자바스크립트는 2진수, 8진수, 16진수를 표현하기 위한 데이터 타입을 제공하지 않기 때문에 이들 값을 참조하면 모두 10진수로 해석된다.자바스크립트의 숫자 타입은 정수만을 위한 타입이 없고 모든 수를 실수로 처리한다.이는 정수로 표시가 된다 하더라도 사실 실수라는 것
Chapter 데이터 타입
연산자(operator)는 하나 이 상의 표현식을 대상으로 산술, 할당, 비교, 논리, 타입, 지수 연산 등을 수행해 하나의 값을 만든다. 이때 연산의 대상을 피연산자라고 하고, 피연산자는 값으로 평가될 수 있는 표현식이어야 한다. 그리고 피연산자와 연산자의 조합으로
논리 부정(!) 연산자는 언제나 불리언 값을 반환한다. 피연산자가 불리언 값이 아니더라도 불리언 타입으로 암묵적 타입 변환된다.논리합(||) 또는 논리곱(&&) 연산자 표현식의 평가 결과는 불리언 값이 아닐 수도 있다.논리합(||) 또는 논리곱(&&) 연산자 표현식은
제어문은 조건에 따라 코드블록을 실행(조건문)하거나 반복 실행(반복문)할 때 사용한다.일반적으로 코드는 위에서 아래 방향으로 순차적으로 실행된다. 제어문을 사용하면 코드의 실행 흐름을 인위적으로 제어할 수 있다.블록문은 0개 이상의 문을 중괄호로 묶은것으로 코드 블록

Chapter 09 타입 변환과 단축 평가 명시적 타입 변환 개발자가 의도적으로 값의 타입을 변환하는 것을 명시적 타입 변환 또는 타입 캐스팅이라 한다. 개발자의 의도와는 상관없이 표현식을 평가하는 도중에 자바스크립트 엔진에 의해 암묵적으로 타입이 자동 변환되는
객체 리터럴 자바스크립트는 객체 기반의 프로그래밍 언어이며, 자바스크립트를 구성하는 거의 모든 것이 객체다. 원시 값을 제외한 나머지 값(함수, 배열, 정규 표현식 등)은 모두 객체다. > 원시 타입의 값, 즉 원시 값은 변경 불가능한 값이다. 그러나 객체 타입의
6장 데이터 타입에서 자바스크립트가 제공하는 7가지 데이터 타입(숫자, 문자열, 불리언, null, undeined, 심벌, 객체 타입)을 배웠다. 데이터 타입은 크게 원시 타입과 객체 타입으로 구분할 수 있다.원시 타입과 객체 타입은 크게 세 가지 측면에서 다르다.
Chapter 12 함수 > 함수는 자바스크립트에서 가장 중요한 핵심 개념이다. 프로그래밍 언어의 함수는 일련의 과정을 문으로 구현하고 코드 블록으로 감싸서 하나의 실행 단위로 정의한 것이다. 함수 내부로 입력을 전달받는 변수를 매개 변수, 입력을 인수, 출력을 반환
Chapter 13 스코프 >스코프(유효범위)는 자바스크립트를 포함한 모든 프로그래밍 언어의 기본적이면서 중요한 개념이다. 더욱이 자바스크립트의 스코프는 다른 언어의 스코프와 구별되는 특징이 있으므로 주의가 필요하다 그리고 var 키워드로 선언한 변수와 let 또는 c
전역 변수의 문제점 >전역 변수의 무분별한 사용은 위험하다. 전역 변수를 반드시 사용해야 하는 경우가 아니면 지역 변수를 사용해야 한다. 이번 장에서는 전역 변수의 문제점, 전역 변수의 사용을 억제하는 방법을 다룬다. 변수의 생명 주기 >변수는 선언에 의해 생성되고

위 예제에서 var 키워드로 선언한 변수 x,y는 중복 선언 되었다.var 키워드로 선언한 변수를 중복 선언하면 초기화문 유무에 따라 다르게 동작한다.x는 초기화 문이 있으므로 100이 반환된다.y는 초기화 문이 없으므로 변수 선언문이 무시된다. 에러는 발생하지 않는다

Chapter 16 프로퍼티 어트리뷰트 내부 슬롯과 내부 메서드 >내부 슬롯과 내부 메서드는 자바스크립트 엔진의 구현 알고리즘을 설명하기 위해 ECMAScript 사양에서 사용하는 의사 프로퍼티와 의사 메서드다. >javascript const o - {}; //

생성자 함수에 의한 객체 생성 >객체 리터럴에 의한 객체 생성 방식은 가장 일반적이고 간단한 객체 생성 방식이다. 객체는 객체 리터럴 이외에도 다양한 방법으로 생성할 수 있다. 이번 장에서 생성자 함수를 사용하여 객체를 생성하는 방식을 알아보자! Object 생성자

함수와 일급 객체 일급 객체 > 다음과 같은 조건을 만족하는 객체를 일급 객체라 한다. >>1. 무명의 리터럴로 생성할 수 있다. 즉, 런타임에 생성이 가능하다. >>2. 변수나 자료구조(객체, 배열 등)에 저장할 수 있다. >>3. 함수의 매개변수에 전달할 수
Chapter19 프로토타입 > 자바스크립트는 명령형, 함수형, 프로토타입 기반 객체지향 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어다. >>자바스크립트는 클래스 기반 객체지향 프로그래밍 언어보다 효율적이며 더 강력한 객체지향 프로그래밍 능력을 지니고 있는 프

리터럴 표기법에 의해 생성된 객체의 생성자 함수와 프로토타입 >생성자 함수에 생성된 인스턴스는 프로토타입의 constructor 프로퍼티에 의해 생성자 함수와 연결된다. >>constructor 프로퍼티가 가리키는 생성자 함수는 인스턴스를 생성한 생성자 함수다. >

Object.create 메서드는 명시적으로 프로토타입을 지정하여 새로운 객체를 생성한다.다른 객체 생성 방식과 마찬가지로 추상 연산 OrdinaryObjectCreate를 호출한다.Object.create 메서드는 첫 번째 매개변수에 전달한 객체의 프로토타입 체인에

strict mode >foo 함수 내에서 선언하지 않은 x 변수에 값 10을 할당했다. 이때 x변수를 찾아야 x에 값을 할당할 수 있기 때문에 자바스크립트 엔진은 x변수가 어디에서 선언되었는지 스코프 체인을 통해 검색한다. >>전역 스코프에 x 변수의 선언이 존재하

CH21 빌트인 객체 자바스크립트 객체의 분류 > - 표준 빌트인 객체 > - 호스트 객체 > - 사용자 정의 객체 표준 빌트인 객체 > 자바스크립트는 Object, String, Number, Boolean, Symbol ... 등 40여 개의 표준 빌트인 객체를

this this 키워드 >동작을 나타내는 메서드는 자신이 속한 객체의 상태, 즉 프로퍼티를 참조하고 변경할 수 있어야 한다. 이때 메서드가 자신이 속한 객체의 프로퍼티를 참조하려면 먼저 자신이 속한 객체를 가리키는 식별자를 참조할 수 있어야 한다. > 객체 리터럴의

Chapter 23 실행 컨텍스트 > 실행 컨텍스트는 자바스크립트의 동작 원리를 담고 있는 핵심 개념이다. 실행 컨텍스트를 바르게 이해하면 자바스크립트가 스코프를 기반으로 식별자와 식별자에 바인딩된 값을 관리하는 방식, 호이스팅이 발생하는 이유, 클로저의 동작 방식,

Chapter 24 클로저 > " A closure is the combination of a function and the lexical environment within which that function was declared." 클로저는 함수와 그 함수가 선언

클래스는 class 키워드를 사용하여 정의한다. 클래스 이름은 생성자 함수와 마찬가지로 파스칼 케이스를 사용하는 것이 일반적이다.클래스는 표현식으로 정의할 수 있다. 즉, 클래스가 값으로 사용할 수 있는 일급 객체라는 것을 의미한다.일급 객체의 특징무명의 리터럴로 생성
표준 빌트인 객체인 Date는 날짜와 시간(연,월,일,시,분,초,밀리초)을 위한 메서드를 제공하는 빌트인 객체이면서 생성자 함수다.Date(): // 'Mon Oct 17 2022 20:59:22 GMT+0900 (대한민국 표준시)'Date 객체의 연도를 나타내는 정수
표준 빌트인 객체인 String 객체는 생성자 함수 객체다. 따라서 new 연산자와 함께 호출하여 String 인스턴스를 생성할 수 있다.위 예제를 크롬 브라우저의 개발자 도구에서 실행하면 \[PrimitiveValue] 라는 접근할 수 없는 프로퍼티가 보이는데 이는
Chapter38 브라우저의 렌더링 과정 >자바스크립트가 가장 많이 사용되는 분야는 웹 브라우저 환경에서 동작하는 웹페이지/애플리케이션의 클라이언트 사이드다. >>웹 애플리케이션의 클라이언트 사이드 자바스크립트는 브라우저에서 HTML, CSS와 함께 실행된다. 따라서
자바스크립트는 비동기 처리를 위한 하나의 패턴으로 콜백 함수를 사용한다. 하지만 콜백 패턴은 콜백 헬로 인해 가독성이 나쁘고 비동기 처리 중 발생한 에러의 처리가 곤란하며 여러 개의 비동기 처리를 한 번에 처리하는 데도 한게가 있다.ES6에서는 비동기 처리를 위한 또
Chapter 40 이벤트 이벤트 드리븐 프로그래밍 > 브라우저는 처리해야 할 특정 사건이 발생하면 이를 감지해 이벤트를 발생시킨다. 마우스 클릭, 키보드 입력, 마우스 이동 등이 일어나면 이를 감지해 특정한 타입의 이벤트를 발생시킨다. > 이벤트가 발생했을 때