Câu hỏi phỏng vấn Javascript
Câu hỏi

Sự khác biệt giữa các Host objectsNative objects trong Javascript là gì?

Câu trả lời

Sự khác biệt giữa các Host objects và Native objects trong JavaScript chủ yếu nằm ở nguồn gốc và mục đích sử dụng của chúng.

Native Objects

Native objects (Đối tượng nguyên thuỷ) là các đối tượng được định nghĩa bởi đặc tả ECMAScript của ngôn ngữ JavaScript. Chúng là một phần không thể thiếu của ngôn ngữ và được cung cấp sẵn bởi môi trường thực thi JavaScript. Native objects bao gồm các đối tượng như String, Math, RegExp, Object, Function, và nhiều đối tượng khác. Chúng được gọi là built-in objects, pre-defined objects, hoặc global objects và có sẵn cho tất cả người dùng, bất kể máy tính hay môi trường thực thi. Các chức năng của native objects không thay đổi khi thay đổi máy tính hoặc môi trường và có thể được sử dụng như cả constructors (ví dụ: String(), Array(), Object()) và giá trị nguyên thủy (ví dụ: true, 999)

Host Objects

Host objects (Đối tượng máy chủ) là các đối tượng được cung cấp bởi môi trường thời gian chạy, chẳng hạn như trình duyệt web hoặc Node.js. Chúng không được định nghĩa bởi đặc tả ECMAScript mà được cung cấp bởi môi trường thời gian chạy và có thể khác nhau giữa các môi trường. Ví dụ, trong môi trường trình duyệt, các host objects có thể bao gồm window, XMLHttpRequest, và các đối tượng DOM như NodeList. Trong khi đó, một số đối tượng như console được cung cấp bởi cả trình duyệt và máy chủ Node.js. Host objects có thể khác nhau giữa các môi trường và là đặc thù cho từng host (môi trường)

Sự Khác Biệt Chính

  • Native Objects: Là các đối tượng tiêu chuẩn toàn cầu, giống nhau và được cung cấp bởi chính JavaScript.
  • Host Objects: Là các đối tượng đặc thù cho môi trường (host), khác nhau giữa các môi trường và không được định nghĩa bởi đặc tả ECMAScript.

Sự hiểu biết về sự khác biệt giữa native objects và host objects giúp lập trình viên JavaScript hiểu rõ hơn về cách các đối tượng hoạt động trong các môi trường khác nhau và cách tận dụng chúng một cách hiệu quả trong các ứng dụng của mình

middle

middle

Gợi ý câu hỏi phỏng vấn

senior

Temporal Dead Zone trong Javascript là gì?

middle

Kết quả set của đoạn code sau là gì? Hãy giải thích tại sao?

middle

Thuộc tính NaN trong JavaScript là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào