Hướng dẫn what is reference type and value type in javascript? - kiểu tham chiếu và kiểu giá trị trong javascript là gì?
Trong JavaScript, bạn có thể chuyển qua giá trị và bằng cách tham khảo. Show Sự khác biệt chính giữa hai là chuyển qua giá trị xảy ra khi gán nguyên thủy trong khi truyền bằng cách tham chiếu khi gán các đối tượng. Hãy thảo luận về các giá trị và tài liệu tham khảo chi tiết hơn trong bài viết này. 1. Hiểu nguyên thủy và đối tượngJavaScript cung cấp 2 loại loại dữ liệu: nguyên thủy và đối tượng. Các nguyên thủy là số, booleans, chuỗi, biểu tượng và giá trị đặc biệt
Danh mục thứ hai là các đối tượng. Đặc biệt là đối tượng, mảng, chức năng, và nhiều hơn nữa - là tất cả các đối tượng.
Nói điều đó khác nhau, bất cứ điều gì không phải là một giá trị nguyên thủy là một đối tượng. 2. Giá trịQuy tắc đơn giản của việc truyền theo giá trị là tất cả các giá trị nguyên thủy trong JavaScript được truyền theo giá trị. Đơn giản như thế. Chuyển bằng giá trị có nghĩa là mỗi khi bạn gán một giá trị cho một biến, một bản sao của giá trị đó được tạo. Mỗi lần.
Hãy để tôi chỉ cho bạn cách vượt qua giá trị thể hiện chính nó. Giả sử bạn có 2 biến
Câu lệnh đầu tiên 0 xác định một biến a được khởi tạo với số 2. Câu lệnh thứ hai 3 xác định một biến khác b và khởi tạo nó với giá trị của biến a - được truyền theo giá trị. Đơn giản hơn, một bản sao của số 2 được gán cho b .Sau đó, 8 tăng thêm 9 và trở thành 0. b Thay đổi biến và thay đổi này không ảnh hưởng đến giá trị của a .3. Tài liệu tham khảoTuy nhiên, việc vượt qua tham chiếu, biểu hiện khác nhau. Khi tạo một đối tượng bạn được cung cấp một tham chiếu đến đối tượng đó. Nếu 2 biến giữ cùng một tham chiếu, thì việc thay đổi đối tượng phản ánh trong cả hai biến.
Hãy kiểm tra mẫu mã sau:
Câu lệnh đầu tiên 3 tạo ra một mảng, xác định một biến 4 và khởi tạo biến có tham chiếu đến mảng được tạo. Sau đó 5 xác định một biến 6 và khởi tạo 6 với tham chiếu được lưu trữ trong biến 4. Đây là một đường chuyền bằng tài liệu tham khảo. 9 làm biến đổi mảng bằng cách đẩy một mục 9. Vì các biến 4 và 6 tham chiếu cùng một mảng, thay đổi này được phản ánh trong cả hai biến. Lưu ý: Để đơn giản, tôi nói rằng các biến chứa các tham chiếu đến các đối tượng. Nhưng nói đúng các biến trong các giá trị giữ JavaScript là các tham chiếu đến các đối tượng. 4. So sánh các giá trị và so sánh các tài liệu tham khảoHiểu được sự khác biệt giữa các giá trị và tài liệu tham khảo là rất quan trọng khi bạn muốn so sánh các đối tượng. Khi sử dụng toán tử so sánh nghiêm ngặt 3, 2 biến có giá trị bằng nhau nếu chúng có cùng giá trị. Tất cả các so sánh dưới đây là bằng nhau:
4 và 5 có cùng giá trị 2. Nhà điều hành 3 đánh giá là 8 dài như cả hai toán hạng là 2, bất kể giá trị được lấy từ đâu: một nghĩa đen 2, giá trị của biến, biểu thức 1. Nhưng toán tử so sánh 3 hoạt động khác nhau khi so sánh các tài liệu tham khảo. 2 Tài liệu tham khảo chỉ bằng nhau nếu chúng tham chiếu chính xác cùng một đối tượng. 3 và 4 Giữ các tài liệu tham khảo cho phiên bản mảng khác nhau:
3 và 4 Các mảng tham chiếu của cùng một cấu trúc, tuy nhiên 7 đánh giá thành 8 vì 3 và 4 tham chiếu các đối tượng mảng khác nhau. Toán tử so sánh chỉ trả về 8 khi so sánh các tham chiếu chỉ vào cùng một đối tượng: 2 hoặc 3. 5. Tóm tắtTrong các loại nguyên thủy JavaScript được truyền xung quanh làm giá trị: có nghĩa là mỗi lần một giá trị được gán, một bản sao của giá trị đó được tạo. Mặt khác các đối tượng (bao gồm các đối tượng đơn giản, mảng, chức năng, phiên bản lớp) là các tài liệu tham khảo. Nếu bạn sửa đổi đối tượng, thì tất cả các biến tham chiếu đối tượng đó sẽ thấy sự thay đổi. Toán tử so sánh phân biệt so sánh các giá trị và tài liệu tham khảo. 2 Biến giữ các tham chiếu chỉ bằng nhau nếu chúng tham chiếu chính xác cùng một đối tượng, nhưng 2 biến giữ giá trị bằng nhau nếu chúng chỉ đơn giản là có 2 giá trị giống nhau cho dù giá trị bắt nguồn từ đâu: từ một biến, nghĩa đen, v.v. Tuy nhiên, thông thường, bạn có thể muốn so sánh các đối tượng bằng cấu trúc của chúng thay vì tham chiếu. Kiểm tra bài viết Cách so sánh các đối tượng trong JavaScript. Loại tham chiếu trong JavaScript là gì?Giá trị tham chiếu: JavaScript cung cấp ba loại giá trị tham chiếu bao gồm mảng, đối tượng và hàm. Kích thước của giá trị tham chiếu là động do đó nó được lưu trữ trên đống.Array, Object, and Function. The size of a reference value is dynamic therefore It is stored on Heap.
Loại giá trị trong JavaScript là gì?Các loại giá trị là số, ký hiệu, boolean, null và không xác định.Chuỗi cũng là một loại giá trị mặc dù nó được thực hiện với một hành vi hơi khác để lưu bộ nhớ.Ngoài biểu tượng, tất cả đều có cú pháp theo nghĩa đen.number, symbol, boolean, null and undefined. string is also a value type although it is implemented with a slightly different behavior to save memory. Apart from symbol, these all have a literal syntax.
Là tham chiếu hay giá trị JavaScript?Vì JavaScript luôn vượt qua giá trị, việc thay đổi giá trị của biến sẽ không thay đổi nguyên thủy cơ bản (số hoặc chuỗi).Nhưng trong trường hợp một biến đề cập đến một đối tượng bao gồm một mảng, giá trị là tham chiếu đến đối tượng.JavaScript is always a pass by value, changing the variable's value will not change the underlying primitive (number or string). But in case a variable refers to an object that includes an array, the value is the reference to the object.
Kiểu dữ liệu loại tham chiếu là gì?Các kiểu dữ liệu tham chiếu trong Java là những kiểu có chứa tham chiếu/địa chỉ của các đối tượng được tạo động.Chúng không được xác định trước như các loại dữ liệu nguyên thủy.Sau đây là các loại tham chiếu trong Java.Loại lớp - Loại tham chiếu này trỏ đến một đối tượng của một lớp.Loại mảng - Loại tham chiếu này trỏ đến một mảng.those which contains reference/address of dynamically created objects. These are not predefined like primitive data types. Following are the reference types in Java. class types − This reference type points to an object of a class. array types − This reference type points to an array. |