Tôi không có tài năng gì cả. Tôi chỉ đam mê hiểu biết
Các Kiểu Dữ Liệu(Data Type) Trong Javascript

Các Kiểu Dữ Liệu(Data Type) Trong Javascript


Ngày 26 Tháng 4 Năm 2020

Hôm nay bạn hãy cùng mình sẽ đi tìm hiểu các kiểu dữ liệu của ngôn ngữ lập trình Javascript trong trang web nhé.

Các Kiểu Dữ Liệu (Data Type) Javascript

Javascript là một ngữ dynamically typed(ngôn ngữ động), nó cho phép chúng ta không cần phải khai báo kiểu của biến trước khi sử dụng. Kiểu sẽ được xác định tự động trong khi chương trình thực thi. Để hiểu rõ hơn bạn xem ví dụ sau đây nhé:

 let thongBao = "Xin Chào"; 
thongBao = 123456;

Như ví dụ trên, bạn thấy biến thongBao có thể được sử dụng để chứa nhiều loại kiểu dữ liệu khác nhau là loại chuỗi và loại số (Các loại kiểu này mình sẽ nói rõ ở phần sau nhé) mà không xảy ra bất kỳ lỗi nào. Nhưng đôi khi sự tiện lợi này sẽ làm máy tính hiểu và thực hiện sai mục đích ban đầu của chúng ta. Để hiểu rõ hơn bạn xem ví dụ sau đây nhé:

let ketQua = "Xin Chào " + 2 + 2;

Vậy theo bạn nghĩ nó sẽ ra giá trị của biến ketQuaXin Chào 4 hay là Xin Chào 22?
Do nó tự động chuyển kiểu dữ liệu cho biến nên ở đây thành phần đầu là kiểu chuỗi thì tất cả các giá trị theo sau nó sẽ tự động chuyển sang kiểu chuỗi nên ta sẽ có kết quả là Xin Chào 22. (Nếu chưa hiểu các loại kiểu thì sau khi bạn có thể học xong và xem lại phần này nhé). Bây giờ chúng ta sẽ đi vào tìm hiểu từng loại kiểu dữ liệu cụ thể.

Kiểu Số (Number) Javascript

Kiểu số trong Javascript sử dụng định dạng IEEE-754 hiển thị cho cả số nguyên và số thập phân. Để tìm hiểu về kiểu định dạng này bạn có thể xem ở đây nhé: IEEE-754.

Nó cho phép chúng ta thực hiện các phương pháp tính toán như cộng, trừ, nhân, chia...

Bây giờ chúng ta thử khai báo biến theo kiểu số nguyên và số thập phân ở bên dưới đây nhé.

 let soNguyen = 12;
let soThapPhan = 12.84;

Javascript sẽ tự động chuyển đổi một số thập phân sang số nguyên nếu nó không có phần lẻ ở phía sau. Việc này giúp chúng ta giảm bớt bộ nhớ bởi vì số thập phân sẽ sử dụng bộ nhớ gấp đôi so với số nguyên. Để hiểu rõ hơn bạn xem ví dụ sau đây nhé:

let n = 200.00; // Nó sẽ tự động chuyển sang số nguyên là 200

Nếu bạn muốn biết phạm vi kiểu dữ liệu số mà ta có thể sử dụng được thì sử dụng hai hàm sau là Number.MAX_VALUENumber.MIN_VALUE. Bây giờ chúng ta thử xem giá trị của hai hàm này nhé:

 console.log(Number.MAX_VALUE);/*Giá trị là 1.7976931348623157e+308*/ 
console.log(Number.MIN_VALUE);/*Giá trị là 5e-324*/

Bên cạnh các số thông thường, Javascript cũng có các giá trị số đặc biệt mà thuộc các kiểu dữ liệu sau đây: Infinity, -Infinity, NaN.

Kiểu Infinity, -Infinity là biểu hiện cho vô cực trong toán học theo mình hiểu là số vô cùng lớn hay số vô cùng nhỏ. Để hiểu rõ hơn bạn cùng mình đi vào ví dụ cụ thể bên dưới nhé:

 console.log(Number.MAX_VALUE + Number.MAX_VALUE); /* Infinity */
console.log(-Number.MAX_VALUE - Number.MAX_VALUE); /* -Infinity */
console.log(2/0); // Infinity;

Kiểu NaN: được viết tắt theo từ Not a Number có nghĩa là một số không hợp lệ. Trường hợp dẫn tới kiểu này thì thường là do tính toán lỗi. Để hiểu rõ hơn bạn xem ví dụ sau đây nhé:

console.log("không phải số" / 2 ) // Kết quả là NaN

Kiểu này có hai thuộc tính đặc biệt mà bạn nên nắm là:

  • Bất ký phép nhân, chia, cộng, trừ... với NaN sẽ trả về kết quả NaN.
  • NaN sẽ không bằng bất kỳ giá trị nào kể cả chính nó.

Để hiểu rõ hơn vấn đề này thì bạn cùng mình xem thử ví dụ sau đây nhé:

 console.log(NaN/2); /* Trả về NaN*/
console.log(NaN == NaN) /*Trả về false*/

Kiểu Chuỗi (String) Javascript

Trong Javascript, chuỗi sẽ bao gồm từ 0 cho tới nhiều ký tự dùng để hiển thị dữ liệu dưới dạng văn bản. Để tạo chuỗi thì ta sẽ bọc các ký tự mà mình muốn trong ba dấu sau đây "", '', ``. Bạn lưu ý là khi mình sử dụng dấu nào thì phải kết thúc bằng dấu đó nhé nếu không sẽ xảy ra lỗi ngoài mong muốn. Bây giờ để hiểu rõ hơn thì hãy cùng mình khai báo biến kiểu chuỗi ở bên dưới nhé:

 let thongBao = 'Xin Chào';
let thongDiep = "Hello World";

Ở ví dụ trên nếu bạn để ý thì mình chưa sử dụng dấu `` bởi vì tính năng của nó hơi khác so với hai khai báo trên. Nó cho phép chúng ta có thể thêm các biến hay biểu thức vào trong chuỗi thông qua ${...}. Để hiểu rõ chức năng của nó bạn xem ví dụ sau đây nhé:

 let thongDiep = "Xin Chào"; 
console.log(`${thongDiep} Các Bạn`); /* Kết quả trả về là Xin Chào Các Bạn */
console.log(`Kết quả biểu thức: ${1+2}`);/*Kết quả trả về là Kết quả biểu thức: 3*/

Thông thường khi sử dụng kiểu chuỗi, thì sẽ có một số trường hợp không mong muốn như ví dụ sau đây:

let thongTin = 'I'am Vietnamese';

Trường hợp này chúng ta muốn khai báo kiểu chuỗi cho I'am Vietnamese nhưng khi bạn chạy nó sẽ ra lỗi do không đúng cú pháp vì trong trường hợp này thì nó chỉ hiểu chuỗi là I còn phần còn lại nó không hiểu và định dạng được . Vậy để khắc phục trường hợp này thì bạn xem đoạn code sau nhé:

let thongTin = "I'am Vietnamese";

Kiểu Boolean(Logic) Javascript

Kiểu boolean thì chỉ có hai giá trị là truefalse dùng để biểu thị tính đúng sai của một sự việc. Để hiểu rõ hơn thì bạn xem ví dụ sau đây nhé:

 let thuDagui = true; /* Trả về true nghĩa là thư Đã Gửi */
let emailDaGui = false /*Trả về false nghĩa là email chưa gửi*/

Ngoài ra nó còn xét tính đúng sai của một biểu thức, bạn xem ví dụ sau để hiểu nhé:

 let logic = 2 > 3; 
console.log(logic); // Trả về giá trị false vì so sánh này không đúng thực tế

Kiểu Null Javascript

Kiểu null là một giá trị đặc biệt để đại diện cho không có giá trị nào và nó chỉ có một giá trị duy nhất là null. Nó giống như bài trước mình học là biến được khai báo nhưng chưa gán giá trị. Để hiểu cách sử dụng bạn xem ví dụ sau nhé:

let thongBao = null;// Do vài lý do mà chúng ta để ở trạng thái rỗng hay chưa xác định cho biến này

Kiểu undefined Javascript

Kiểu undefined cũng chỉ có một giá trị là undefined. Nó cũng giống như kiểu null. Để hiểu rõ hơn bạn thử xem ví dụ sau đây nhé:

 let thongBao;
console.log(thongBao);/*Kết quả trả về là undefined*/
console.log(null == undefined)// Kết quả trả về là true

Kiểu Objects và Symbols Javascript

Đối với các kiểu dữ liệu trên thì chỉ chứa được một thông tin duy nhất. Nhưng đối với kiểu objects(đối tượng) thì bạn có thể sử dụng để lưu nhiều thông tin với độ phức tạp cao. Do đó mình sẽ dành một phần riêng để nói về hai kiểu này sau nhé!

Sử dụng typeof trong Javascript

TypeOf rất hữu ích trong việc truy xuất kiểm tra các loại kiểu của một thành phần nào đó trong Javascript. Và nó hỗ trợ hai dạng cú pháp như sau nhé:

  • typeof x
  • typeof (x)

Hai cách này đều cho kết quả như nhau tùy vào việc bạn thích sử dụng cái nào mà thôi. Để nắm rõ hơn hãy cùng mình xem ví dụ dưới đây nhé:

typeof undefined; /*kết quả trả về "undefined"*/
typeof 0; /*kết quả trả về "number"*/
typeof true; /*kết quả trả về "boolean"*/
typeof "Xin chào"; /*kết quả trả về "string"*/

Tổng kết:

Qua đây mình mong bài viết sẽ giúp bạn hiểu được các kiểu dữ liệu trong ngôn ngữ Javascript và nếu có thắc mắc gì cứ gửi email mình sẽ phản hồi sớm nhất có thể. Rất mong bạn tiếp tục ủng hộ trang web để mình có thể viết nhiều bài hay hơn nữa nhé. Chúc bạn có một ngày vui vẻ!