변수 : 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름.식별자 : 어떤 값을 구별해서 식별할 수 있는 고유한 이름을 말함. 식별자는 메모리 주소를 기억.변수 선언 : var, let, const변수 이름을 포함한 모
값 : 식(표현식)이 평가되어 생성된 결과를 말함. 리터럴 : 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법표현식 : 값으로 평가될 수 있는 문. 표현식이 평가되면 새로운 값을 생성하거나 기존값을 참조.문 : 프로그램을 구성하는 기본 단위
원시타입 : number, string, boolean, undefined, null symbol객체 타입 : 객체, 함수, 배열등 하나의 숫자 타입 존재 (C, Java와 다름)배정밀도 64비트 부동소수점 형식Infinity : 양의 무한대\-Infinity : 음의
이항 산술 연산자단항 산술 연산자피연산자에 +, - 단항 연산자를 사용하면 피연산자를 숫자 차입으로 반환. 부수효과 x\+연산자는 피연산자 중 하나 이상이 문자열인 경우 문자열 연결 연산자로 동작함동등 비교 연산자는 결과를 예측하기 어려워 사용 x일치 비교조건식 ? 조
대부분의 if else 문은 삼항 조건 연산자로 표현 가능switch 문for문while 문continue : 반복문의 코드 블록 실행을 현 지점에서 중단하고 반복문의 증감식으로 실행 흐름을 이동
개발자가 의도적으로 값의 타입을 변환하는 것 : 타입 캐스팅, 명시적 차입 변환개발자의 의도와 상관없이 자바스크립트 엔진에 의해 암묵적으로 타입 변환하는 것 : 암묵적 타입 변환, 타입 강제 변환명시적이든 암시적이든 원시값은 변경 불가능한 값이므로 변경 x타입 변환이란
규칙을 준수하지 않는 이름, 즉 자바스크립트에서 사용 가능한 유효한 이름이 아니면 반드시 대괄호 표기법 사용. 단 프로퍼티 키가 숫자로 이루어진 문자열인 경우 따옴표 생략 가능ES6에서 변수 이름과 프로퍼티 키가 동일한 이름일 때 프로퍼티 키를 생략할 수 있음계산된
원시 값은 변경 불가능한 값변경 불가능하다는 것은 변수가 아니라 값에 대한 진술읽기 전용 값어떤 일이 있어도 불변하기에 데이터 신뢰성을 보장불변성을 갖는 원시 값을 할당한 변수는 재할당 이외에 변수 값을 변경할 수 있는 방법이 없음유사 배열 객체값에 의한 전달ex) s
프로그래밍 언어의 함수는 일련의 과정을 문으로 구현하고 코드 블록으로 감싸서 하나의 실행 단위로 정의한 것이다프로그래밍 언어의 함수도 입력을 받아서 출력을 내보낸다. 이때 함수 내부로 입력을 전달받는 변수를 매개 변수, 입력을 인수, 출력을 반환값이라 함함수는 함수 정
스코프란?모든 식별자(변수 이름, 함수 이름, 클래스 이름등)는 자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 유효 범위가 결정됨. 이를 스코프라 함코트 바깥 영역과 a함수 내부의 x변수를 선언했고 1,2에서 x변수를 참조함. 이때 자바스크립트
지역 변수의 생명 주기4장에서 변수 선언은 선언문이 어디에 있든 상관없이 자바스크립트 엔진에 의해 런타임이전 단계에서 먼저 실행됨. 하지만 이는 전역변수에 한정된 이야기임.지역변수의 생명 주기는 함수의 생명 주기와 일치함.함수 몸체에 생성된 지역 변수의 생명 주기는 함
변수 중복 선언 허용함수 레벨 스코프함수 레벨 스코프는 전역 변수를 남발할 가능성을 높임.변수 호이스팅변수 중복 선언 금지블록 레벨 스코프변수 호이스팅let 키워드로 선언한 변수는 선언단계와 초기화 단계가 분리되어 진행.일시적 사각지대 : 스코프의 시작 시작 지점부터
내부 슬롯과 내부 메서드는 자바스크립트 엔진의 구현 알고리즘을 설명하기 위해 ECMAScript 사양에서 사용하는 의사 프로퍼티와 의사 메서드. 이중 괄호\[\[]]로 감싼 이름들이 내부 슬롯과 내부 메서드임.내부 슬롯과 내부 메서드는 자바스크립트 엔진에서 실제로 동
new 연산자와 함께 Object 생성자 함수를 호출하면 빈 객체를 생성하여 반환.생성자 함수란 new 연산자와 함께 호출하여 객체를 생성하는 함수를 말함. 생성자 함수에 의해 생성된 객체를 인스턴스라 함.객체 리터럴에 의한 객체 생성 방식의 문제점직관적이고 간편하다.

무영의 리터럴로 생성할 수 있음. 런타임에 생성이 가능.변수나 자료구조에 저장할 수 있음함수의 매개변수에 전달할 수 있음.함수의 반환 값으로 사용할 수 있음.위의 조건을 만족하는 객체를 일급 객체라 함.함수가 일급 객체라는 것은 함수를 객체와 동일하게 사용할 수 있다는
프로토타입은 생성자 함수가 생성되는 시점에 더불어 생성됨.사용자 정의 생성자 함수와 프로토타입 생성 시점생성자 함수로서 호출할 수 있는 함수, 즉 constructor는 함수 정의가 평가되어 함수 객체를 생성하는 시점에 프로토타입도 더불어 생성됨.non-construc
strict mode는 자바스크립트 언어의 문법을 좀 더 엄격히 적용하여 오류를 발생시킬 사능성이 높거나 자바스크립트 엔지의 최적화 작업에 문제를 일으킬 수 있는 코드에 대해 명식적인 에러를 발생전역의 선두 또는 함수 몸체의 선두에 'use strict'를 추가. 스크
1. 동기 vs. 비동기 동기(synchronous) 태스크가 순차적으로(직렬적으로) 실행됨. 하나의 작업이 끝나야 다음 작업 수행 가능. 태스크가 끝날 때가지 대기하기 때문에 비효울적 비동기 태스크가 병렬적으로 실행됨. 어떤 작업을 요청한 후, 완료될 때까지
스코프란 “변수와 함수에 접근할 수 있는 범위” 를 의미한다.자바스크립트에서 스코프는 크게 전역 스코프(Global Scope), 함수 스코프(Function Scope), 블록 스코프(Block Scope)로 구분된다.전역 스코프에 선언된 변수는 어디서든 접근 가능하
자바스크립트를 제대로 이해하기 위해서는 '1급 객체(First-Class Object)'라는 개념을 알아야 한다.프로그래밍 언어에서 어떤 요소가 다음 세 가지 조건을 만족할 때, 이를 '1급 객체'라고 한다.변수나 데이터 구조(배열, 객체 등)에 할당 가능하다.함수의
클로저는 함수가 선언될 때의 스코프를 기억하여, 함수가 생성된 이후에도 그 스코프에 접근할 수 있는 기능을 말한다.클로저는 자바스크립트의 함수가 일급 객체라는 특성과 렉시컬 스코프의 조합으로 만들어 진다.makeCounter() 실행 → 내부 변수 count가 생성내부
자바스크립트에서 변수, 함수 선언이 해당 스코프의 최상단으로 끌어올려지는 동작을 말합니다.코드가 실행되기 전, 선언 부분이 먼저 처리되어 실행 컨텍스트의 초기화 단계에서 메모리에 등록되는 것이다.위의 코드는 다음과 같이 동작한다. var로 선언된 변수는 선언과 초기화는
자바스크립트를 개발을 하다보면 값이 없거나 올바르지 않을 경우, undefined, null, NaN를 볼 수 있다.이것들에 의미와 용도, 내부 처리 방식에서 중요한 차이점이 있습니다.undefined는 변수는 선언되었지만 값이 할당되지 않았을 때 자바스크립트 엔진이