Đối tượng có phải là một loại trong javascript không?

Trong bài đăng này, tôi sẽ đề cập đến các loại đối tượng JavaScript và cách với tư cách là nhà phát triển, bạn có thể tạo các loại đối tượng khác nhau. Chúng tôi cũng sẽ đề cập đến một số ví dụ về mã khi chúng tôi tiến hành, điều này sẽ giúp bạn hiểu các khái niệm. Bắt đầu nào

JavaScript có 2 loại đối tượng. Tích hợp và do người dùng xác định

  • Các đối tượng tích hợp. được cung cấp bởi lõi JavaScript. Những thứ như Mảng, Chuỗi, Số, Boolean, RegExp đều là các đối tượng tích hợp sẵn
  • Đối tượng do người dùng định nghĩa. đây là những đối tượng mà bạn đã tạo trong chương trình hoặc ứng dụng của mình

Hãy đi vào một số chi tiết và thử một số ví dụ

Các đối tượng tích hợp JavaScript là gì?

Các đối tượng được xác định trước bằng ngôn ngữ JavaScript. JavaScript là ngôn ngữ lập trình dựa trên đối tượng và bạn sẽ nhận ra rằng mọi thứ trong JavaScript thực sự là một đối tượng. Bản thân nó đang kế thừa từ các đối tượng khác. Ví dụ,

Bạn có thể tạo Mảng JavaScript theo 2 cách,

  1. Cách thông thường [Array Literal]
var arr = [5]; //literal or short form. this is preferred way arr.length; //1

2. Bằng cách tạo một thể hiện

var arr = new Array[5]; //less preferred arr.length; //5

Nhưng cả hai biến mảng thực sự là đối tượng. Và chúng ta có thể xác minh rằng

typeof arr; //"object" arr instanceOf Object; //true

Cả hai đều có đầy đủ các thuộc tính và phương thức của Array

arr.length; 
arr.slice[];
arr.splice[];
arr.pop[];
arr.push[];
arr.filter[];
arr.indexOf[];
//and so on

Tất cả các thuộc tính và phương thức này được định nghĩa bên trong thuộc tính nguyên mẫu của hàm tạo Array. Xin lưu ý ES5 JavaScript không có các lớp

Để dễ hiểu, chúng ta hãy định nghĩa một hàm tạo như một lớp

Arr.prototype = { 
length: //,
splice: function[] {},
slice: function[] {},
push: function[] {}
//and so on
}

Bạn cũng sẽ nhận thấy các phương thức như valueOf[], toString[], hasOwnProperty[] có sẵn cho bạn. Đây không phải là các phương thức Array gốc, nhưng chúng đến từ lớp Object/hàm xây dựng. Tôi đã giải thích chi tiết trong phần tiếp theo “ Đối tượng do người dùng định nghĩa “. Nhìn vào đó để hiểu

Tương tự như Mảng, bạn có Chuỗi, Boolean, Số, Hàm, RegExp, Lỗi, v.v. Tất cả các hàm/lớp hàm tạo cấp cao này cung cấp tất cả các phương thức và thuộc tính tiện ích có sẵn cho bạn khi bạn tạo các biến dữ liệu

Một số ví dụ dưới đây,

/* Strings */ 
var str = "hello";
str.split[];
var str1 = new String["hello"];
str1.split[];
/* Boolean */
var b = true;
var b1 = new Boolean[true];
/* Numbers */
var n = 1.11;
n.toFixed[];
var n1 = new Number[1.11];
n1.toFixed[];

Tất cả các hàm tạo này kế thừa từ lớp cha/hàm tạo đối tượng

Object 
----- Array
----- Function
----- Boolean
----- RegExp
----- String
----- Error
Đối tượng do người dùng định nghĩa

Các đối tượng mà bạn đã xác định bằng các hàm xây dựng tùy chỉnh. Hãy xem một ví dụ dưới đây,

//you define your constructor function 
function Employee[name, id] {
this.name = name;
this.id = id;
}
//extend the prototye
Employee.prototype.getName = function[] {
return this.name;
}
Employee.prototype.setID = function[ID] {
this.id = ID;
}
//now start creating employee objects
var e1 = new Employee["John", 1234];
var e2 = new Employee["Lenon", 3481];
//and so on
//now access the properties from the prototype
e1.getName[]; //"John"
e2.setID[8888];

Vì vậy, các phiên bản hoặc đối tượng e1, e2 của bạn có thể đọc các thuộc tính từ nguyên mẫu của hàm tạo Employee. Đây là một ví dụ về kế thừa nguyên mẫu

Các thuộc tính và phương thức được thêm vào nguyên mẫu của hàm tạo có thể được nhìn thấy bởi các thể hiện được tạo từ hàm tạo

Nhưng nếu bạn để ý, bạn cũng sẽ có một số phương thức và thuộc tính được xác định trước trong đối tượng được tạo tùy chỉnh của mình

________số 8

Chúng đến từ đâu? - Chúng đến từ siêu lớp Object/siêu hàm tạo. Mọi đối tượng hoặc hàm tạo mà bạn tạo đều kế thừa từ Đối tượng

Nếu bạn chạy `Employee. prototype` trong bảng điều khiển trình duyệt của bạn, bạn có thể thấy rằng. Bạn sẽ nhận thấy một thuộc tính bán trong suốt có tên là __proto__. Đây là liên kết bí mật đến nguyên mẫu hàm tạo của Employee. nguyên mẫu, đó là Đối tượng. Nhân viên. nguyên mẫu là một đối tượng và do đó kế thừa từ Trình tạo đối tượng

T ip. Không sử dụng __proto__ trong mã của bạn, vì nó không phải là thuộc tính nhất quán và thay đổi từ trình duyệt này sang trình duyệt khác. Luôn sử dụng thuộc tính nguyên mẫu.

Nếu bạn làm một e1. [e1 dot ] trong bảng điều khiển trình duyệt của bạn, bạn sẽ thấy tất cả các thuộc tính và phương thức có sẵn cho đối tượng e1. Hãy xem ảnh chụp màn hình bên dưới

Nói chung, mọi loại đối tượng trong JavaScript, có thể là Được tích hợp sẵn hoặc Do người dùng định nghĩa, tất cả chúng đều kế thừa từ Siêu lớp đối tượng/siêu hàm tạo

JavaScript là ngôn ngữ Hướng đối tượng nhưng dựa trên nguyên mẫu. Bản thân điều này là một chủ đề lớn, và tôi sẽ giữ nó cho một ngày khác

Đối tượng có phải là một loại trong JS không?

Đối tượng là Biến . Đối tượng cũng là biến. Nhưng các đối tượng có thể chứa nhiều giá trị. Giá trị đối tượng được viết dưới dạng tên. cặp giá trị [tên và giá trị được phân tách bằng dấu hai chấm].

Là một đối tượng một loại?

Một loại đối tượng là một kiểu dữ liệu hỗn hợp do người dùng định nghĩa đóng gói một cấu trúc dữ liệu cùng với các chức năng và thủ tục cần thiết để thao tác dữ liệu. Các biến tạo thành cấu trúc dữ liệu được gọi là thuộc tính.

Cái nào không phải là một loại trong JavaScript?

JavaScript không có kiểu dữ liệu của hàm nhưng khi chúng tôi tìm thấy kiểu dữ liệu của hàm bằng cách sử dụng toán tử typeof, chúng tôi thấy rằng . Điều này là do một hàm là một đối tượng trong JavaScript.

Loại trong JavaScript là gì?

typeof là một từ khóa JavaScript sẽ trả về loại biến khi bạn gọi nó . Bạn có thể sử dụng điều này để xác thực các tham số chức năng hoặc kiểm tra xem các biến đã được xác định chưa. Ngoài ra còn có những công dụng khác. Toán tử typeof rất hữu ích vì nó là một cách dễ dàng để kiểm tra loại biến trong mã của bạn.

Chủ Đề