-
JavaScript 의 Object 종류와 JS의 플랫폼JavaScript 2020. 10. 6. 15:49
JavaScript에서 사용되는 Object 의 종류는 크게 2가지로 다음과 같이 나눌 수 있다.
1. 네이티브 오브젝트
- JS 스펙에 정의 되어있는 Object 를 의미한다.
- Number, String 과 같이 빌트인 된 오브젝트를 포함하는 개념이다.
- Argument Object 오브젝트 와 같이 JS코드를 실행시에 생성되는 특수한 Object 도 포함한다.
2. 호스트 오브젝트
- 네이티브 오브젝트와 같이 JS 스펙에 정의 되어있는 Object 가 아닌 모든 것
- Window, DOM Object 와 같은 요소들이 존재한다.
- JS에서 기본적으로 제공되는 객체를 제외하며 JS가 사용 되는 환경 (플랫폼) 에서 제공되는 객체를 의미한다.
- Host Object는 JS 가 사용되는 환경 (호스트) 에 따라 호스트가 제공 하는 Object는 다르며 이때 제공 되는 모든 Host Object는 JS라는 언어로써 사용 될 수 있는 형태로 제공된다.
위의 코드를 보면 querySelector 라는 매소드의 매개변수로 "div" 라는 문자열을 넘겨주며 어떠한 처리를 하고 있다. 이는 웹에서 동작하는 브라우저의 요소를 사용하는 것 이다. 또한 위의 querySelector 함수는 JS스펙에 정의되어 있지 않다. DOM에서 제공하는 함수를 JS에서 객체의 매소드 형태로 가져다 사용하고 있는 것 이다.
Host Object 는 위에서 설명 한 것 처럼 JS 스펙에 명시되어 있는 것이 아닌 Host Object (DOM, Window) 를 마치 JS 의 함수인 것 처럼 사용할 수 있다. 또한 Host Object 는 JS 환경에서 사용할 수 있는 형태로 만들어서 제공한다.
즉 JS는 호스트 환경에서 브라우저의 모든 요소와 기술 (Host Object) 를 연결, 융합 등과 같은 처리를 통해 브라우저를 제어하게 된다.
+ 호스트 환경이란 ?
JS라는 언어는 현재 매우 광범위 하게 사용 되고 있다. 웹 클라이언트 (브라우저), 웹 서버 (Node.js), 커피 머신 등과 같이 자바스크립트라는 언어가 사용 되는 환경 (플렛폼) 은 광범위 하다. 여기서 자바스크립트가 사용되는 환경 (플랫폼) 을 바로 Host 라고 부른다. 따라서 각 플렛폼 (호스트) 은 해당 플랫폼(호스트)에 특정 되는 기능을 제공하게 되는데 이를 바로 JS 명세서에서는 호스트 환경이라 한다.
- JS 언어를 사용하여 특정 호스트 환경 (브라우저, 서버, Etc... ) 에서 작업 수행
- 특정 호스트 환경은 사용되는 플랫폼에 따라 해당 플랫폼에서 사용 할 수 있는 Host Object 를 제공 (JS 환경에서 사용 가능 한 형태 )
- 제공 되는 Host Object 의 매소드 와 같은 요소를 가지고 (브라우저, 서버) 와 같은 현재 호스트(플랫폼)의 요소, 기술 등을 사용하여 제어 한다. (사용자에게 이벤트 띄우기, 사용자의 입력 값 받기, Etc.. )
- Host Object 를 사용하여 받은 자료를 JS 라는 언어를 통해 통계, 분석, 가공과 같이 다른 추가적인 프로그래밍적 처리를 하게 된다.
'JavaScript' 카테고리의 다른 글
빌트 인 Function 객체 (0) 2020.10.09 Built-in Object (Object 자료형) (0) 2020.10.08 함수 호출구조 (0) 2020.10.05 Built in object 의 생성 (인스턴스) (0) 2020.10.05 Built-in object 란 ? (인스턴스) (0) 2020.09.23