Hướng dẫn immutable object in javascript
Bắt kịp với xu hướng mới, trong Video này chúng ta cùng tìm hiểu về 2 khái niệm Mutable Object và Immutable Object khác nhau như thế nào? Và tại sao chúng ta nên sử dụng chúng? Nhất là xu thế hiện tại rất chuộng bộ đôi "sát thủ" React + Redux. Hãy cùng tôi tìm hiểu nó các bạn nhé! Show (Visited 1,595 times, 1 visits today) Các bài viết liên quan
Hướng dẫn cách sử dụng Mutable và Immutable Objects trong hàm JavaScript. Khi gọi một hàm trong JavaScript, chúng ta truyền các giá trị vào hàm thông qua tham số. Có 2 kiểu dữ liệu có thể truyền vào hàm trong JavaScript là Mutable (đối tượng biến đổi) và Immutable(đối tượng bất biến). Tùy thuộc vào kiểu dữ liệu của giá trị này mà chúng có thể bị thay đổi
trước và sau khi được truyền vào hàm trong JavaScript. Có 2 kiểu dữ liệu có thể truyền vào hàm trong JavaScript như sau:
Sử dụng Immutable Objects trong hàm JavaScriptKhi chúng ta truyền vào hàm JavaScript các giá trị Immutable(đối tượng bất biến) như chuỗi, số chẳng hạn, nếu chúng ta có thay đổi các giá trị này bên trong hàm đi chăng nữa thì giá trị ban đầu của chúng cũng sẽ không bị thay đổi. Ví dụ, giá trị của biến function square(num){ Khi chúng ta gọi hàm trên và truyền vào hàm giá trị của biến num, biến này sẽ được gán một giá trị mới là lũy thừa của chính nó bên trong hàm. Do đó hàm console.log() trong hàm square() sẽ in ra kết quả lũy
thừa của biến num. Tuy nhiên kể cả khi chúng ta đã gán giá trị mới cho num bên trong hàm chăng nữa, thì giá trị ban đầu của num không đổi và sẽ vẫn bằng Tương tự với chuỗi cũng là giá trị Immutable, giá trị của một chuỗi trước và sau khi được sử dụng trong hàm cũng sẽ không bị thay đổi, kể cả khi chúng ta đã thay đổi giá trị của nó trong hàm như sau: function flower(hoa){ Sử dụng Mutable Objects trong hàm JavaScriptNgược với Immutable Objects thì các Mutable Objects như mảng trong hàm JavaScript sẽ bị thay đổi giá trị ban đầu nếu chúng ta thay đổi giá trị của chúng bên trong hàm JavaScript. Ví dụ, giá trị của mảng sau đây sẽ bị thay đổi trước và sau khi truyền nó vào hàm trong JavaScript: function square(num_array){ Khi chúng ta gọi hàm square() ở trên, mảng được gán trong biến num_array sẽ được truyền vào hàm thông qua việc gán giá trị của nó vào tham số num_array trong hàm. Bên trong hàm, các phần tử trong mảng sẽ được thay thế bởi lũy thừa của chính nó trước khi được in lần lượt ra màn hình. Và giống như thế, bất kỳ thay đổi nào đối với mảng bên trong hàm cũng sẽ làm thay đổi luôn giá trị ban đầu của nó. Chú ý khi sử dụng Mutable Objects trong hàm JavaScriptNhư Kiyoshi đã phân tích ở trên, nếu bạn sử dụng Mutable Objects trong hàm JavaScript và tiến hành các xử lý thay đổi giá trị của nó bên trong hàm, thì giá trị ban đầu của nó cũng sẽ bị thay đổi theo. Do đó khi sử dụng và truyền các giá trị Mutable Objects trong hàm JavaScript, bạn hãy chú ý để tránh việc thay đổi ngoài ý muốn các giá trị của biến được gán các giá trị Mutable trước và sau, trong và ngoài hàm JavaScript. Ví dụ, chúng ta có chương trình tính giá tiền của các mặt hàng, và có một đợt giảm giá ngắn trong vòng 1h đồng hồ để thu hút khách hàng. Để làm được điều này, chúng ta cần phải thay đổi giá các mặt hàng bằng một hàm trong JavaScript như sau: function change_price(price_array, discount){ Sau 1h, đợt giảm giá kết thúc. Sẽ không có vấn đề gì nếu bạn có thêm xử lý chuyển đổi các giá trên về lại giá ban đầu. Tuy nhiên nếu như bạn không nắm rõ giá trị các biến trước và sau khi gọi hàm như thế nào và có kế hoạch chuyển lại giá về giá ban đầu, rất có thể các mặt hàng sẽ bị báo giá nhầm gây nên thiệt hại lớn cho cửa hàng của khách hàng. Tổng kếtTrên đây Kiyoshi đã hướng dẫn bạn về cách sử dụng Mutable và Immutable Objects trong hàm JavaScript rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé. Và hãy cùng tìm hiểu những kiến thức sâu hơn về JavaScript trong các bài học tiếp theo. Viết bởi Kiyoshi. Đã đăng ký bản quyền tác giả tại <a title="Bạn được tự do chia sẻ bài viết nhưng phải để lại đường link bài viết từ laptrinhcanban.com. Bạn không được sử dụng tài liệu cho mục đích thương mại. Không được phép chỉnh sửa nội dung được phát hành trên website của chúng tôi" style="color:#fff;background-color:silver" rel="license noopener" target="_blank" href="https://creativecommons.org/licenses/by-nc-nd/4.0/">Creativecommons</a> và <a title="Bạn được tự do chia sẻ bài viết nhưng phải để lại đường link bài viết từ laptrinhcanban.com. Bạn không được sử dụng tài liệu cho mục đích thương mại. Không được phép chỉnh sửa nội dung được phát hành trên website của chúng tôi" style="color:#fff;background-color:silver" target="_blank" rel="noopener" href="https://www.dmca.com/Protection/Status.aspx?ID=1631afcd-7c4a-467d-8016-402c5073e5cd" class="dmca-badge">DMCA</a><script src="https://images.dmca.com/Badges/DMCABadgeHelper.min.js"> Bài viết liên quanHãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam! HOME>> học javascript - lập trình javascript cơ bản>>08. hàm trong javascript
Bài Viết Liên QuanQuảng CáoCó thể bạn quan tâmToplist được quan tâm#1
Top 9 tập bản đồ lớp 8 bài 31 20235 tháng trước#2
Top 6 kết quả thi hsg đà nẵng 2022 20235 tháng trước#3
Top 9 tủ nhựa đài loan 4 cánh 3d 20235 tháng trước#4
#5
Top 8 tìm việc làm tiện, phay bảo q7 20235 tháng trước#6
#7
#8
Top 2 bài the dục phát triển chung lớp 6 2022 20235 tháng trước#9
Top 3 bài giảng vũ điệu sắc màu (lớp 4) 20235 tháng trướcQuảng cáoXem NhiềuQuảng cáoChúng tôiTrợ giúpBản quyền © 2021 Xây Nhà Inc.
|