본문 바로가기
IT/JavaScript

자바스크립트 개념

by 봉즙 2020. 6. 2.

객체

자바스크립트에서 boolean, number, string의 기본 데이터 타입과 null, undefined를 제외한 나머지는 모두 객체이며 null과 undefined를 제외한 나머지 타입은 객체처럼 다룰 수 있다는 특징이 있다.
자바스크립트에서 객체는 단순히 key:value 형태의 프로퍼티들을 저장하는 컨테이너이며 Hash 자료구조와 유사하다.
기본타입의 객체는 하나의 값만을 가지는데 비해 참조타입 객체는 여러 프로퍼티를 포함할 수 있으며 기본 타입의 값을 포함하거나 다른 객체를 가리킬수도 있다. 객체의 프로퍼티는 함수로 포함될 수 있으며 이러한 프로퍼티를 메서드라 한다.

 

객체 생성 3가지 방법

Object() : const temp = new Object() 의 방식으로 생성

객체 리터럴 : const temp = {a: '123'} 의 방식으로 생성

생성자 함수 :

 

객체 프로퍼티 접근 2가지 방법

[] : temp['a'] 의 방식으로 접근

. : temp.a 의 방식으로 접근

- [] 만 사용해야 하는 경우 : 접근하려는 프로퍼티가 표현식이거나 예약어인 경우 ex) 'full-name'과 같이 - 가 삽입된 경우 대괄호 사용하여 접근

 

프로퍼티 삭제

객체는 불가능하며 delete foo.name 같은 방식으로 프로퍼티 삭제 할 수 있다.

 

함수

자바스크립트에서는 함수 또한 객체로 취급하며 일급 객체로다뤄진다.

 

프로토타입

모든 객체는 숨겨진 링크인 프로토타입을 가진다. 이 링크는 해당 객체를 생성한 생성자의 프로토 타입 객체를 가리킨다. ECMAScript에서는 [[Prototype]]으로 표현된다.

 

실행 컨텍스트

자신만의 유효범위(Scope)를 갖는다. 이 것을 잉요하여 클로저를 구현할 수 있다. 

 

클래스

클래스 역시 함수이며 표현식과 선언식 두가지가 존재한다. 함수의 선언식은 호이스팅이 되지만 클래스의 선언식은 호이스팅이 되지 않는다.

 

null과 undefined

undefined는 기본적으로 값이 할당되지 않은 변수를 타나낸다. 타입이면서 값을 나타낸다. null은 개발자가 명시적으로 값이 비어있음을 나타내는데 사용한다. null타입의 변수를 확인 하는 경우 typeof 연산자를 사용하는 것이 아니라 === 연산자를 사용해야 한다.

'IT > JavaScript' 카테고리의 다른 글

배열 깊은 복사  (0) 2020.06.24
배열과 객체  (0) 2020.06.24
용어정리  (0) 2020.04.28
Closure  (0) 2019.06.14
체크박스, 리스트 이동버튼  (0) 2019.06.13

댓글