Bài 04: Khai báo biến trong TypeScript
Trong bài này chúng ta sẽ bàn tới các cách khai báo biến trong TypeScript nhé các bạn.
Ngoài từ khóa var
ra TypeScript hỗ trợ thêm hai cách khai báo biến đó là sử dụng từ khóa let
và const
. Thực ra thì hai cách này mình đã trình bày rất kỹ ở trong series học ES6 rồi, vì vậy bạn hãy đọc series đó trước khi đọc series này nhé. Tuy nhiên mình cũng sẽ trình bày lại một cách đơn giản để bạn dễ theo dõi bài hơn.
1. Khai báo biến với từ khoa var
Cách này khá đơn giản vì bạn đã sử dụng rất nhiều trong Javascript rồi phải không nhỉ :)
Ví dụ
Bài viết này được đăng tại [free tuts .net]
var domain = 'freetuts.net'; var author = 'Nguyễn Văn Cường'; var series = new Array();
Sư dụng từ khóa var đồng nghĩa với việc bạn đã khai báo trong phạm vi toàn cầu, nghĩa là bạn có thể sử dụng nó ở mọi nơi từ bên trong hàm cho đến bên ngoài hàm.
Ví dụ
var domain = 'freetuts.net'; function showDomain() { alert(domain); } // Kết quả: freetuts.net showDomain();
Nếu bạn khai báo một biến nằm bên trong hàm thì đương nhiên biến đó chỉ mang tính chất là biến cục bộ, nghĩa là chỉ sử dụng được trong hàm đó mà thôi.
Ví dụ
function showDomain() { var domain = 'freetuts.net'; } // Lỗi vì biến domain là biến cục bộ trong hàm showDomain alert(domain);
2. Khai báo biến với từ khóa let
Từ khóa let được giới thiệu ở phiên bản ECMAScript 6 (ES6). Khi sử dụng từ khóa let
để khai báo biến thì biến đó chỉ hoạt động trong phạm vi khối của nó (block-scoped), xem bài khởi tạo biến với từ khóa let để hiểu rõ hơn.
Ví dụ
let a = 20; let b = 30; let c = a + b; alert(c); // 50
Nếu sư dụng bên ngoài phạm vi của block-scoped thì sẽ bị lỗi, xem ví dụ.
let domain = 'freetuts.net'; if (domain == 'freetuts.net') { let author = 'Blog của Nguyễn Văn Cường'; } alert(author); // Lỗi vì biến author nằm trong phạm vi block-scoped khác
3. Khai báo biến với từ khóa const
Sử dụng từ khóa const
để khai báo một biến và biến đó sẽ không thể nào thay đổi giá trị lại, trong các ngôn ngữ lập trình khác thì đây cũng có thể hiểu là khai báo hằng. Để hiểu rõ hơn bạn nên đọc bài const trong ES6. Khác với các ngôn ngữ khác là khi khai báo hằng thì thường ta chỉ gán được kiểu giá trị là kiểu chuỗi hoặc kiểu số, tuy nhiên trong Javascript nói chung và trong TypeScript nói riêng thì bạn có thể gán cho nó mọi kiểu dữ liệu.
Như ví dụ sau là hoàn toàn hợp lệ vì ta gán giá trị là một object.
const info = { name : "Nguyen Van Cuong", domain : "Freetuts.net" }; console.log(info);
Nếu bạn cố tình thay đổi giá trị thì sẽ bị báo lỗi.
// Khai báo const const domain = 'freetuts.net'; // Thay đổi giá trị => dòng này sẽ bị lỗi domain = 'freetuts.net';
Giống như let
, phạm vi hoạt động của biến const
cũng bị hạn chế bởi block-scorped.
{ // Khai báo const const domain = 'freetuts.net'; console.log(domain); } { console.log(domain); // Bị lỗi vì biến domain nằm ở block-scoped phía trên }
4. Lời kết
Như vậy là mình đã giới thiệu xong ba cách khai báo biến trong TypeScript, trong ba cách này thì mỗi cách lại có những tác dụng và ý nghĩa khác nhau nên bạn cần phải hiểu thì mới giúp chương trình trở nên tối ưu hơn. Chúc các bạn học tốt và hẹn gặp lại ở bài tiếp theo.