Cấu Trúc Và Kiểu Dữ Liệu Trong Javascript - Phạm Công Thành
Có thể bạn quan tâm
Giống như các ngôn ngữ lập trình khác JavaScript cũng có cấu trúc và kiểu dữ liệu, số lượng kiểu dữ liệu cũng không khác nhiều lắm.
Kiểu dữ liệu
Có nhiều thống kê về kiểu dữ liệu của JavaScript và theo mình tìm kiếm thì nó không đồng nhất, ở đây mình sẽ liệt kê các kiểu dữ liệu mà mình đã tìm thấy:
- Các kiểu dữ liệu cơ bản:
- Boolean. true và false. VD: var bien = true;
- null. Một từ khóa đạc biệt biểu thị giá trị null. Vì JavaScript là case-sensitive, null sẽ không giống với Null, NULL, hoặc bất kỳ biến thể khác.
- undefined. Giá trị khai báo của biến là không xác định (như bài trước ta đã biết)
- Number. Một số nguyên (integer) hoặc số thực dấu chấm động (floating point number) 42 hoặc 3.14159.
- BigInt. Một số nguyên với giá trị rất lớn. VD: 9007199254740992n.
- String. Strings là một chuỗi gồm một hoặc nhiều ký tự (chữ cái, số, ký hiệu). Các chuỗi hữu ích ở chỗ chúng đại diện cho dữ liệu văn bản. Ví dụ: var char = "Ngày sinh của tôi là 01/01/1900";.
- Symbol (mới trong ECMAScript 6). Một kiểu dữ liệu mà các giá trị của nó là duy nhất và bất biến (chúng ta sẽ nói đến nó sau).
- Đối tượng Object
Chúng ta có thể dùng hàm typeof() để kiểm tra kiểu dữ liệu của biến.
var myvalue = true; console.log(typeof(myvalue)); // Boolean var myNull = null; console.log(typeof(myNull)); // null var x; console.log(typeof(x)); // undefined var num = 1; console.log(typeof(num)); // Number var num_bigint = 9007199254740991n; console.log(typeof(num_bigint)); // BigInt var my_string = "Hôm nay, ngày 01/01/1900 là sinh nhật của một ai đó"; console.log(typeof(my_string)); // String1. Boolean
Kiểu dữ liệu Boolean chỉ có 2 giá trị true (đúng) và false (sai). Bản thân nó được sử dụng chủ yếu trong các phép so sánh liên quan đến logic toán học hay thuật toán nào đó. VD:
var khoa_cua = true; //Đã khóa cửa if (khoa_cua) { console.log('Phải mở khóa mới vào được nhà!!!'); } else { console.log('Vào nhà thôi!!!'); } // Vì 'khoa_cua = true' nên câu lệnh if sẽ chạy điều kiện 'đúng' // Kết quả console.log: Phải mở khóa mới vào được nhà!!!2. null
Null có nghĩa là giá trị rỗng hoặc giá trị không tồn tại, nó có thể được sử dụng để gán cho một biến như là một đại diện không có giá trị.
var bien = null; console.log(bien); // nullCó một điều lạ là khi sử dụng typeof để xác định kiểu dữ liệu của giá trị null sẽ trả về kết quả object.
var bien = null; console.log(typeof(bien)); // object3. Undefined
Undefined có nghĩa là không xác định. Trong javascript, khi bạn khai báo một biến nhưng chưa gán giá trị cho nó, giá trị của biến đó sẽ là undefined.
var bien; console.log(bien); // undefinedundefined và null đều biểu thị giá trị rỗng của biến nhưng chúng khác nhau về kiểu dữ liệu, vì thế khi so sách 2 biến có giá trị undefined và null chúng ta phải chú ý.
var bien_undefined; var bien_null = null; bien_undefined == bien_null; // true bien_undefined === bien_null; // false4. Number và BigInt
Cùng để khai báo dữ liệu dạng số. Tuy nhiên Number bị giới hạn bởi giá trị an toàn từ -9007199254740991 đến 9007199254740991 (2 mũ 53 – 1). Ta có thể sử dụng Number.MAX_SAFE_INTEGER và Number.MIN_SAFE_INTEGER để xác định các giá trị an toàn này.
var x = Number.MAX_SAFE_INTEGER + 1; var y = x + 1; console.log(console.log(Number.MAX_SAFE_INTEGER); // 9007199254740991 console.log(x); // 9007199254740992 console.log(y); // 9007199254740992 console.log(x === y); // trueNhư chúng ta thấy khi x và y vượt ngoài giá trị an toàn thì việc so sánh giữa các giá trị này cũng dẫn đến sai số.
BigInt cũng giống như Number trong một vài trường hợp, xong khác nhau lớn nhất giữa chúng là nó không thể sử dụng được dươi các phương thức của đối tượng Math và không thể sử dụng chung với các biến Number.
Để sử dụng BigInt dưới dạng Number bạn phải chuyển đổi dữ liệu và phải cẩn thận vì giá trị của BigInt lớn hơn mức an toàn của Number nên có thể dẫn đến sai số.
const theBiggestInt = 9007199254740991n; const alsoHuge = BigInt(9007199254740991); // 9007199254740991n const hugeHex = BigInt("0x1fffffffffffff"); // 9007199254740991n const hugeBin = BigInt("0b11111111111111111111111111111111111111111111111111111"); // 9007199254740991n typeof 1n; // bigint typeof BigInt('1') === 'bigint' // truePhần lớn trong các trường hợp thông thường chúng ta ít khi phải sử dụng đến BigInt, nếu như bạn cần tìm hiểu thêm về toán tử và so sánh các giá trị BigInt có thể xem ở đây.
5. String
string là kiểu dữ liệu dạng chuỗi các ký tự. Trong các ứng dụng thực tế, để người dùng cuối hiểu được nội dung thì việc giao tiếp giữa ứng dụng và người dùng phải thông qua ngôn ngữ tự nhiên tức là chuỗi và các ký tự.
Chính vì thế dữ liệu dạng string là vô cùng quan trọng.
Việc khai báo biến sử dụng kiểu dữ liệu này thì giá trị khai báo sẽ được đặt trong dấu nháy đơn '' hoặc nháy kép "".
var string_text = 'string text'; var string_text_2 = "string text"; var string_text_3 = "中文 español deutsch English हिन्दी العربية português বাংলা русский 日本語 ਪੰਜਾਬੀ 한국어 தமிழ் עברית";Thông thường để ghép các chuỗi hay để in ra chuỗi và biến chúng ta sẽ sử dụng phép toán + để nỗi chuỗi.
var string = "Đây là giá trị của a: "; var a = 10; console.log(string + "Không xác định"); // Đây là giá trị của a: Không xác định console.log(string + a); // Đây là giá trị của a: 10Từ ECMAScript 2015 có thêm một cách khai báo nữa là Template literals (Template strings) cho phép bạn sử dụng các string dưới dạng các biểu thức nhúng. Việc khai báo giá trị sẽ được đặt trong dấu ``.
Bạn hoàn toàn có thể gán biến nhanh vào chuỗi bằng cách sử dụng ${ biến } và có thể sử dụng các toán tử tính toán, so sánh… ở bên trong ${}.
var a = 5; var b = 10; console.log(`Giá trị của biểu thức bằng ${a + b} không bằng ${2 * a + b}.`); // Giá trị của biểu thức bằng 15 không bằng 20.Có một điều chú ý rằng khi thực hiện phép toán cộng + một string (giá trị này có thể convert sang number) với một number sẽ trả về dữ liệu là string trong khi các phép toán khác lại trả về kết quả number.
var x = '100'; var y = 10; console.log(x +y); // 10010 console.log(typeof(x+y)); // string console.log(x-y); // 90 console.log(x-y); // number6. Object
Object là kiểu dữ liệu rất quan trọng trong JavaScript, nó thường được sử dụng để lưu trữ dữ liệu dưới dạng các từ khóa và chỉ mục. Chúng ta sẽ tìm hiểu chi tiết về Object trong bài viết sau.
Bài viết liên quan Giới thiệu về JavaScript5 năm trướcBài mở đầu: “Hello World”5 năm trướcBiến trong JavaScript5 năm trướcFunction trong JavaScript4 năm trướcTừ khóa » Các Kiểu Dữ Liệu Javascript
-
Các Kiểu Dữ Liệu Trong JavaScript
-
Kiểu Dữ Liệu Trong JavaScript - Viblo
-
Kiểu Dữ Liệu Trong Javascript Là Gì ? Sự Khác Nhau Giữa Null Và ...
-
Các Kiểu Dữ Liệu Trong JavaScript
-
Các Kiểu Dữ Liệu (Data Type) Trong JavaScript - Web Cơ Bản
-
Kiểu Dữ Liệu JavaScript
-
Kiểu Dữ Liệu Trong JavaScript - VietTuts
-
Các Kiểu Dữ Liệu Trong Javascript
-
Kiểu Dữ Liệu Trong Javascript - Giới Thiệu 8 Loại Và Cách Lưu Trữ Kiểm ...
-
Kiểu Dữ Liệu Trong JavaScript | Học Lập Trình JavaScript
-
Kiểu Dữ Liệu, Typeof, Tham Trị, Tham Chiếu Trong JavaScript
-
Kiểm Tra Kiểu Dữ Liệu Trong JavaScript
-
Các Kiểu Dữ Liệu Trong JavaScript - Vi
-
6 Kiểu Dữ Liệu Cơ Bản Trong Javascript - NIIT - ICT HÀ NỘI