Javascript 핵심개념
객체
- 자바스크립트의 모든것은 '거의' 객체이다. 필자도 공부 하면서 알게된 거지만, 모든 데이터타입이 '객체' 인것은 아니다.
var intNum = 10;
예를들어 위와같은 소스코드에서 필자는 intNum 이라는 변수를 '객체' 라고 정의하고, 사용하고 있었다.
하지만 자바스크립트에서 이를 '객체' 라고 표현하지 않고, 기본 데이터 타입(기본타입) 으로 지정이 된다.
자바스크립트에서 '객체'라 함은 단순히 '이름(key):값(value)' 형태의 프로퍼티들을 저장하는 컨테이너다.
따라서 기본 데이터 타입인 boolean, number, string 그리고 특별한 값인 null과 undefined 는 '객체'가 아니다.
하지만 자바스크립트에서 세 가지 기본 타입도 모두 객체처럼 다룰 수 있기 때문에, 자바스크립트는
null과 undefined를 제외한 모든 것을 객체로 다룰 수 있다.
함수
- 함수 또한 자바스크립트 에서는 '객체' 로 구분된다. 일반적인 객체보다 조금 더 많은 기능이 있는 객체 라고 할수 있다.
함수 선언문, 함수 표현식, function()생성자 함수 등으로 나뉘며, 따로 정리해서 포스팅하겠다.
프로토타입
- 모든 객체는 숨겨진 링크인 프로토타입 을 가진다. 프로토타입이란, ECMAScript에서 정의한 표현으로,
해당 객체를 생성한 생성자의 프로토타입 객체를 가르킨다.
실행 컨텍스트와 클로저
- 자바스크립트는 독특한 과정으로 실행 컨텍스트를 만들고, 그 안에서 실행이 이루어진다. 이 실행 컨텍스트는
자신만의 유효범위(Scope)를 갖는데, 이 과정에서 클로저를 구현할 수 있다.
※ 프로토타입, 실행컨텍스트, 클로저, 유효범위(Scope) 등 생소한 단어들이 많이 나온다.
해당 용어에 대한 설명과 사용법 등은 따로 포스팅을 하고, 기본적인 개념과 객체에 대하여 어떤것들이 있는지만 파악하였다.
'JavaScript' 카테고리의 다른 글
[Javascript] 함수의 매개변수(arguments 객체) (0) | 2018.04.27 |
---|---|
[Javascript] 자바스크립트 참조(객체)타입 (0) | 2018.04.16 |
[Javascript] 기본 데이터 타입 (0) | 2018.04.12 |
[Javascript] 자바스크립트 데이터타입의 종류 (0) | 2018.04.12 |
[Javascript] 자바스크립트란? (0) | 2018.04.10 |