Nếu bạn chưa biết immutable hay mutable là gì thì có thể xem lại bài viết cũ :D


 


Mình tóm tắt lại.


Immutable là bất biến - Không thay đổi khi đã khai báo - Giống const - hằng


Mutable là biến đổi - có thể thay đổi được sau khi đã khai báo.


 


Trong bài trước mình có nói về Mutable hay Immutable trong OOP. Tuy nhiên, trên thực tế thì những biến thông thường cũng có thể được coi là mutable hay immutable.


 


Thực tế, Apple hay rõ hơn là Swift suggest ta dùng let thay cho var nếu có thể.


Chú thích:


- let trong Swift là khai báo immutable - const


- var trong Swift là khai báo mutable - biến


Ví dụ:


let lName = "Pham Quoc Thang"
var vName = "Pham Quoc Thang"

Đoạn code trên hoàn toàn không sai, cả 2 đều đúng và đều có thể chạy được. Tuy nhiên IDE sẽ warning hay thậm chí báo lỗi và khuyên dùng let thay cho var.



Vì sao? Trong đa số trường hợp, có rất nhiều biến chúng ta dùng và không muốn nó thay đổi, nhưng chúng ta vẫn "cố chấp" hoặc "cố tình" khai báo là biến chứ không phải hằng. Vì thế, điều đó không đảm bảo được 100% cái biến đó không bị bạn vô tình thay đổi đó.


Mà nếu thay đổi thì sao?


Thì bug, fix thôi. Nhưng tốn thêm ít thời gian.


 


Tóm lại, theo mình thì nên khai báo hằng số khi không muốn thay đổi, hoặc dành cho những biến mang tính only-read.