Roel Notebook

[JS] Object 오브젝트

by Roel Downey
728x90
반응형

오브젝트

- 오브젝트 구분

    - 빌트인 오브젝트 (Built - in Object)

    - 네이티브 오브젝트 (Native Object)

    - 호스트 오브젝트 (Host Object)

 

 

빌트인 오브젝트

- 사전에 만들어 놓은 오브젝트

- 빌트인 Number 오브젝트, 빌트인 String 오브젝트 등 ...

 

네이티브 오브젝트

- JS 스펙에서 정의한 오브젝트

- 빌트인 오브젝트도 여기에 포함

- JS 코드를 실행할 때 만드는 오브젝트

 

호스트 오브젝트

- JS는 호스트 환경에서 브라우저의 모든 요소 기술을 연결하고 융합하며 이를 제어

- 빌트인, 네이티브 오브젝트를 제외한 오브젝트

    - 예) window, DOM 오브젝트 

 

호스트 오브젝트

예)

var node = document.querySelector("div"); // DOM함수
console.log(node.nodeName); // DOM에서 제공하는 오브젝트를 호스트 오브젝트라고 부름.


실행 결과 )
DIV

 

오브젝트와 인스턴스

- 오브젝트는 new 연산자를 사용하지 않고 빌트인 오브젝트로 만든 오브젝트를 지칭

- var abc = new Object(); // new 연산자를 사용한 abc는 인스턴스

- var obj = {}; // 사용하지 않은 obj는 오브젝트

 

빌트인 Object 프로퍼티 (ES3)

- new Object() : 파라미터 데이터 타입의 인스턴스 생성

- Object() : Object 인스턴스 생성

Object.prototype

- constructor : 생성자

- valueOf() : 프리미티브 값 반환

- hasOwnProperty() : 프로퍼티 소유 여부 반환

- propertyIsEnumerable() : 프로퍼티 열거 여부 반환

- isPrototypeOf() : prototype의 존재 여부 반환

- toString() : 문자열로 변환

- toLocaleString() : 지역화 문자열로 변환

 

 

빌트인 오브젝트 구조

- 오브젝트 이름 ( Object, String, Number ... )

- 오브젝트.prototype

    - 인스턴스 생성 가능 여부 기준

    - 프로퍼티를 연결하는 오브젝트 

- 오브젝트.prototype.constructor

    - 오브젝트의 생성자

- 오브젝트.prototype.method

    - 메소드 이름과 함수 작성

 

 

 

함수와 메소드 연결

- 함수 : 오브젝트에 연결 : Object.create()

- 메소드 : 오브젝트의 prototype에 연결 : Object.prototype.toString()

- 함수와 메소드를 구분해야 하는 이유 : JS 코드 작성 방법이 다르기 때문

    - 함수는 파라미터에 값을 작성하고, 메소드는 메소드 앞에 값을 작성한다.

 

 

 

 

 

728x90
반응형

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

[JS] Function 오브젝트  (0) 2022.01.19
[JS] String 오브젝트  (0) 2022.01.13
[JS] Number 오브젝트  (0) 2022.01.12
[JS] 오브젝트(Object)  (0) 2022.01.04
[JS] 함수(Function)  (0) 2022.01.03

블로그의 정보

What doing?

Roel Downey

활동하기