본문 바로가기
웹 개발 (Frontend Developer)/JavaScript

네이티브 객체 (Native Object) vs 호스트 객체 (Host Object)

by Jackykim 2024. 9. 22.

<네이티브 객체>

네이티브 자바스크립트 객체는 자바스크립트 자체에서 제공하는 표준 자바스크립트 객체입니다. 이러한 객체들은 내장 객체, 사전 정의된 객체, 또는 전역 객체라고도 불립니다. ECMAScript 명세에서 의미론적인 부분을 완전히 정의해 놓은 객체들입니다. 하단에 객체 예 시들를 나열했습니다. 

- Object 

- Date

- String()

- Math 

- parseInt

- eval

- indexOf 

 

<호스트 객체>

호스트 자바스크립트 객체는 환경에 따라 달라지는 자바스크립트 객체로, 자바스크립트가 실행되는 기기의 환경에 따라 다를 수 있습니다. 한 환경에서 제공되는 객체가 다른 환경에서는 존재하지 않을 수도 있습니다. 호스트 객체는 ECMAScript 실행 환경을 완성하기 위해 호스트 환경 (브라우저, 서버) 에서 제공되는 객체를 의미합니다.

- window

- document

- location

-XMLHttpRequest

- setTimeout

- querySelectorAll

 

<정리 (둘 객체의 차이점)>

네이티브 객체 호스트 객체
자바스크립트 자체에서 제공되는 표준 전역 자바스크립트 객체로, 동일한 방식으로 동작합니다 객체들은 호스트(환경) 별로 특정한 자바스크립트 객체로, 환경마다 다릅니다
객체들은 전역적으로 모든 사용자에게 제공됩니다 한 환경에서 제공되는 객체가 다른 환경에서는 존재하지 않을 수 있습니다
String(), Array(), Number(), Date, 등 window, console, navigator, document, 등

 

참고 :

https://www.geeksforgeeks.org/what-is-the-difference-between-host-objects-and-native-objects/

 

What is the difference between Host objects and Native objects ? - GeeksforGeeks

A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.

www.geeksforgeeks.org

https://stackoverflow.com/questions/7614317/what-is-the-difference-between-native-objects-and-host-objects

 

What is the difference between native objects and host objects?

I don't understand the difference between native objects and host objects in JavaScript. Does the latter simply refer to non-primitive function objects that were created by a custom constructor (e....

stackoverflow.com