모던 자바스크립트 Deep Dive를 읽고 정리한 글 입니다. 변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름을 말한다. 값의 위치를 가리키는 상징적인 이름이다. 개발자가 직접 메모리 주소를 통해 값을 저장하고
5.1 값 값은 식(표현식)이 평가되어 생성된 결과를 말한다. 예제의 식은 평가되어 숫자 값 30을 생성한다. 10 + 20; //30 모든 값은 데이터 타입을 가지며 메모리에 저장된 값은 데이터 타입에 따라 다르게 해석될 수 있다. ex) 0100 0001 숫자
데이터 타입은값의 종류를 말한다.자바스크립의 모든 값은 데이터 타입을 갖는다.ES6는 7개의 데이터 타입을 제공한다.C나 자바의경우 정수, 실수를 구분해서 int, long, float, double 등과 같은 다양한 숫자 타입을 제공한다.하지만 자바스크립트는 독특하게
연산자는 하나 이상의 표현식을 대상으로 산술, 할당, 비교, 논리, 타입, 지수 연산 등을 수행해 하나의 값을 만든다.피연산자를 대상으로 수학적 계산을 수행해 새로운 숫자 값을 만든다.산술 연산이 불가능한 경우, NaN을 반환한다.\+ \- \* / %(나머지)\++
블록문은 0개 이상의 문을 중괄호로 묶은 것으로, 코드 블록 또는 블록이라고 부르기도 한다.자바스크립트는 블록문을 하나의 실행 단위로 취급한다.블록문은 언제나 문의 종료를 의미하는 자체 종결성을 갖기 때문에 블록문의 끝에는 세미콜론을 붙이지 않는다.조건문은 주어진 조건
값의 타입은 개발자의 의도에 따라 다른 타입으로 변환할 수 있다. 개발자가 의도적으로 값의 타입을 변환하는 것을명시적 타입 변환 또는 타입 캐스팅 이라 한다.개발자의 의도와는 상관없이 자바스크립트 엔진에 의해 암묵적으로 타입이 자동변환되는 것을암묵적 타입 변환 또는 타
10.1 객체란?
자바스크립트의 데이터 타입은 크게 원시 타입과 객체 타입으로 구분할 수 있다.데이터 타입을 원시 타입과 객체 타입으로 구분하는 이유는 무엇일까?원시 타입은 변경 불가능한 값(immutable value)이다. 객체 타입은 변경가능한 값(mutable value)이다.원
객체를 프로퍼티 값으로 갖는 객체의 경우 얕은 복사는 한 단계까지만 복사하는 것을 말하고 깊은 복사는 객체에 중첩되어 있는 객체까지 모두 복사하는 것을 말한다.복사본의 중첩된 구조를 변경하면 원본과 복사본 모두 영향을 받는다.🙄 얕은 복사가 되는 경우들 (참조 값말고
함수는 일련의 과정을 문으로 구현하고 코드 블록으로 감싸서 하나의 실행 단위로 정의한 것이다. 함수는 한수 정의를 통해 생성한다.함수 호출을 해야 코드 블록에 담긴 문들이 일괄적으로 실행되고, 실행결과, 즉 반환값을 반환한다.함수는 몇 번이든 호출할 수 있으므로 코드의
ES5까지 변수를 선언할 수 있는 유일한 방법은 var 키워드를 사용하는 것이었다.var 키워드로 선언된 변수는 다음과 같은 특징이 있다. 다른 언어와 구별되는 독특한 특징으로, 주의를 기울이지 않으면 심각한 문제를 발생시킬 수 있다.var 키워드로 선언한 x 변수와
this: 자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 자기 참조 변수이다.this를 통해 자신이 속한 객체 또는 자신이 생성할 이스턴스의 프로퍼티나 메서드를 참조할 수 있다.this가 가리키는 값, 즉 this 바인딩은 함수 호출 방식에 의해 동적으로 결