Hiểu cách các loại dữ liệu nguyên thủy và đối tượng hoạt động trong JavaScript Show
Nếu bạn chưa quen với JavaScript, rất có thể bạn đã gặp phải một số hành vi hài hước mà ngôn ngữ này cung cấp (triển lãm A). Lúc đầu, những điều kỳ lạ này có vẻ vô lý và bực bội, nhưng tôi hứa có một phương pháp đằng sau tất cả sự điên rồ đó. Một trong những rào cản khó khăn nhất để vượt qua, theo ý kiến khiêm tốn của tôi, là sự khác biệt giữa việc vượt qua giá trị so với việc đi qua bằng tài liệu tham khảo. Tại sao khái niệm này rất khó khăn? Đối với người mới bắt đầu, bạn chắc chắn có thể đi khá xa mà không thực sự hiểu cách JavaScript tương tác với các giá trị nguyên thủy và giá trị tham chiếu. Điều này có thể, và thường xuyên hơn không, sẽ dẫn đến một tấn lỗi khó theo dõi và khó khăn để sửa chữa. Thứ hai, đây là một khái niệm sẽ xuất hiện trong các cuộc phỏng vấn kỹ thuật, vì vậy không hiểu nó sẽ được tính là một lá cờ đỏ khổng lồ chống lại bạn. Đừng sợ, người đọc đồng nghiệp! Hãy để giáo dục bắt đầu… Các loại dữ liệu nguyên thủyTrong JavaScript, chúng ta có thể chia các loại dữ liệu thành hai nhóm khác nhau, các loại dữ liệu nguyên thủy và đối tượng. Biểu đồ minh họa các loại dữ liệu nguyên thủy, hoặc giá trị và các loại đối tượng hoặc giá trị tham chiếuCó sáu loại dữ liệu nguyên thủy trong JavaScript: Các loại dữ liệu nguyên thủy được truyền hoặc sao chép, theo giá trị và là bất biến, có nghĩa là giá trị hiện tại không thể được thay đổi theo cách một mảng hoặc một đối tượng có thể. Hãy cùng xem mã bên dưới để thấy điều này trong hành động.by value and are immutable, meaning that the existing value cannot be altered the way an array or an object can. Let’s take a look at the code below to see this in action. Được tạo bằng jsbin.comỞ đây chúng tôi đã tạo ra hai biến, Nếu chúng ta thay đổi giá trị của Đối tượng tham chiếuMặt khác, các đối tượng được truyền qua tham chiếu và trỏ đến một vị trí trong bộ nhớ cho giá trị, không phải là giá trị. Hãy cùng xem xét điều này trong mã của chúng tôi. by reference and point to a location in memory for the value, not the value itself. Let’s take a look at this in our code. Các biến x và y hiện chỉ ra các đối tượng thay vì các loại dữ liệu nguyên thủyTrong ví dụ này, Bây giờ biểu đồ này trông hơi khác một chút so với khi các biến
Để giúp tôi nhớ khái niệm này, tôi thích nghĩ về các giá trị tham khảo như một ngôi nhà và các biến số như những người sống trong ngôi nhà đó. Tất cả các cư dân (biến) có thể nói rằng tôi có một ngôi nhà và chỉ vào cùng một ngôi nhà. Nếu một cư dân duy nhất quyết định họ muốn sơn ngôi nhà màu vàng, thì tất cả cư dân bây giờ có một ngôi nhà màu vàng vì nó được chia sẻ. Hãy cùng xem thêm một ví dụ có chứa nhiều đối tượng tham chiếu. Trong mã này, chúng tôi bắt đầu với một biến Tiếp theo, chúng tôi có một hàm gọi là Lưu ý rằng Kiểm tra sự bình đẳngCuối cùng, hãy để Lừa xem cách các loại dữ liệu nguyên thủy và các đối tượng tham chiếu hoạt động với các toán tử bình đẳng. Khi nói đến các loại dữ liệu nguyên thủy, không có vấn đề gì ở bên phải dấu hiệu Điều ngược lại là đúng trong ví dụ thứ hai cho Sự kết luậnVà điều đó kết thúc phần giới thiệu của chúng tôi vào vượt qua giá trị vs vượt qua bằng cách tham khảo. Có nhiều chủ đề có thể được đề cập dưới sự cơ bản của chiếc ô này, bao gồm cả những gì xảy ra khi một tài liệu tham khảo bị ghi đè hoặc bị mất, cách sao chép một tham chiếu để tạo một đối tượng mới và đảm bảo rằng bản sao là một bản sao sâu, chỉ để đặt tên cho một vài . Tôi sẽ khuyên bạn nên kiểm tra các tài nguyên tôi đã sử dụng dưới đây đi vào một số chủ đề bổ sung này một cách chi tiết hơn. Cảm ơn bạn đã đọc! Bản thân tôi còn khá mới mẻ với mã hóa, vì vậy nếu bạn có bất kỳ bình luận, sửa chữa, chiến sự và/hoặc mong muốn nào, xin vui lòng để lại nhận xét bên dưới! Tài nguyênDưới đây chỉ là một số ít các tài nguyên tuyệt vời ngoài kia để giúp bạn hiểu các giá trị vượt qua so với các tài liệu tham khảo trong JavaScript. Những loại dữ liệu nào được truyền bởi tham chiếu?Các loại dữ liệu nguyên thủy như chuỗi, số, null, không xác định, boolean, được truyền theo giá trị trong khi các loại dữ liệu không nguyên thủy như đối tượng, mảng và chức năng được truyền bằng cách tham chiếu trong JavaScript.objects, arrays, and functions are passed by reference in Javascript.
Các loại dữ liệu 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.
Những gì được thông qua bởi tham chiếu trong JavaScript?Trong tham chiếu vượt qua, một hàm được gọi bằng cách truyền trực tiếp tham chiếu/địa chỉ của biến làm đối số.Thay đổi đối số bên trong hàm ảnh hưởng đến biến được truyền từ bên ngoài hàm.Trong các đối tượng và mảng JavaScript được truyền qua tham chiếu.a function is called by directly passing the reference/address of the variable as the argument. Changing the argument inside the function affects the variable passed from outside the function. In Javascript objects and arrays are passed by reference.
Có phải các lớp được thông qua bởi tham chiếu trong JavaScript?Trong JavaScript, điều đó là không thể, vì vậy nó không vượt qua.Thật tốt khi có thể truyền tham chiếu đến các đối tượng có thể sửa đổi, nhưng đó không phải là những gì "vượt qua tham chiếu" có nghĩa là.it's not pass-by-reference. It's good that it's possible to pass references to modifiable objects, but that's not what "pass by reference" means. |