인사이드 자바스크립트 책 읽으며

📅 March 13, 2019

⏱️2 min read

자바스크립의 핵심 개념

1. 객체

  • 자바스크립의 기본 데이터 타입" boolean, number, string.
  • 특별한 값: null, undefinded
  • 위 데이터 타입, 값을 제외한 나머지는 모두 객체이며, 자바스크립트는 null, undefined을 제외한 모든 것을 객체로 다를 수 있다.

1-1) 숫자

  • 자바스크립트는 하나의 숫자형만 존재한다.자바스크립트에서는 모든 숫자를 64비트 부동 소수점 형태로 저장하기 때문이다.
  • 자바스크립트에서는 정수형이 따로 없고, 모든 숫자를 실수로 처리하므로 나눗셈 연산을 할 때는 주의해야 한다.
var num = 5 /2;
console.log(num); // (출력값) 2.5
console.log(Math.floor(num)); // (출력값) 2

1-2) 문자열

  • 문자열은 작은 따옴표(')나 큰 따옴표(")로 생성한다.
  • 자바스크립트에서는 한 번 생성된 문자열은 읽기만 가능하지 수정은 불가능하다.
// str 문자열 생성
var str = 'test';
console.log(str[0], str[1], str[2], str[3]); // (출력값) test
str[0] = 'T'; // 문자열의 첫 글자를 대문자로 변경?
console.log(str); // (출력값) test

1-3) 불린값

  • 자바스크립트는 true와 false 값을 나타내는 불린 타입을 가진다.

1-4) null과 undefined

  • 이 두 타입은 모두 자바스크립트에서 '값이 비어있음'을 나타낸다.
  • 자바스크립트 환경 내에서 기본적으로 값이 할당되지 않은 변수는 undefined 타입이며, undefined 타입의 변수는 변수 자체의 값 또한 undefined이다.
  • null 타입의 경우는 개발자가 명시적으로 값이 비어있음을 나타내는 데 사용한다.
  • null 타입 변수의 typeof 결과가 null이 아니라 object이다.
// null 타입 변수 생성
var nullVar = null;
console.log(typeof nullVar === null); // (출력값) false
console.log(nullVar === null); // (출력값) true

2. 함수

  • 자바스크립트에서는 함수도 객체로 취급한다.

3. 프로토타입

  • 모든 객체는 숨겨진 링크(Link)인 프로토타입(Prototype)을 가진다. 이 링크는 해당 객체를 생성한 생성자의 프로토타입 객체를 가리킨다.

4. 실행 컨텍스트와 클로저

  • 자바스크립트는 자신만의 독특한 과정으로 실행 컨텍스트를 만들고 그 안에서 실행이 이루어진다. 이 실행 컨텍스트는 자신만의 유효 범위(Scope)을 갖는데, 이 과정에서 클로저를 구현할 수 있다.