Các kiểu dữ liệu trong javascript
Kiểu dữ liệu
Trong javascript có 8 kiểu dữ liệu. Tính từ thời điểm mình viết bài này. Và tương lai có thể thay đổi thì mình chưa biết được.
Chúng ta có thể đặt bất kỳ dữ liệu vào một biến và thay đổi nó tùy ý tùy theo nhu cầu.
1let name = "offjs.com"; // typeof name => "string" 2name = 123 // typeof name => "number" 3 4// Lưu ý typeof của một cái gì đó trả về một chuỗi "string"
Nhược điểm của cách gán dữ liệu tùy ý như vậy sẽ tạo ra một mớ hổn độn. Và có thể xãy ra những lỗi bất ngờ không lường trước.
number
Kiểu number đại diện cho số nguyên dương, nguyên âm, float ...
Bên cạnh nó còn có các giá trị số đặc biệt. Nó đại diện cho một cái gì đó khác biệt
Ví dụ: Infinity, -Infinity, NaN
- Infinity
Nó đại diện cho một số rất rất là lớn. Lớn vô cùng. Trong javascript nó là giá trị rất rất là lớn. Chúng ta có thể gán nó vào một biến như thế này
1let soCucDai = Infinity;
Khi chúng ta khai báo như thế này. Nghĩa là chúng ta đang gán Infinity vào biến soCucDai và bây giờ biến soCucDai có giá trị là Infinity
- -Infinity
Nó đại diện cho một số cực kỳ cực kỳ nhỏ. Trong javascript không ai nhỏ hơn nó nữa cả. Chúng ta có thể khai báo nó như thế này
1let soCucNho = -Infinity;
// Tương tự ý nghĩa như trên
- NAN
Nó đại diện cho một lỗi tính toán. NAN là viết tắt của từ not a number. Dịch ra tiếng việt là không phải một số.
1console.log("er" / 1) // NAN 2// Ý nghĩa của lỗi 3// Lỗi nhiều lên tay 4// Gõ nhiều lên cơ 5// Các bạn nên nhớ nó vào tâm trí 😀
Nói thẳng ra mình cũng ngu tiếng Anh lắm. Nhưng mình cũng làm ra được trang web. Nên các bạn không cần gì phải lo sợ cả. Cố gắng 💪 lên là ok thôi.
Xem chi tiết tại đây: Number
BigInt
BigInt là gì?
- Big nghĩa là lớn
- Int là viết tắt integer nghĩa là số nguyên
Gộp lại hai từ đó chúng ta có số nguyên lớn. Mình cũng ít dùng cái kiểu BigInt này lắm.
BigInt nó đại diện cho số nguyên có độ dài tùy ý. Một giá trị được tạo ra kết thúc bằng ký tự n ở cuối.
1let bigInt = 1233534545232322324353n;
Đơn nhiên nó lớn gì thì lớn. Cũng không bằng Infinity được.
1console.log(1n > Infinity) // false
Nó có rất nhiều thứ lắm. Bạn có thể xem chi tiết tại đây: BigInt
String
Một giá trị kiểu string trong javascript được khai báo trong dấu.
- Dấu nháy kép: "nháy kép"
- Dấu nháy đơn: 'nháy đơn'
- Backticks: Backticks
1let nhayKep = "Nháy Kép"; 2let nhayDon = 'Nháy Đơn'; 3let backticks = `Backticks`
Dấu nháy kép "" và dấu nháy đơn '' thì giống nhau. Nhưng dấu `` có thể giúp chúng ta khai báo giá trị trên nhiều dòng
1let backticks = ` toi 2ne 3`
Nếu chúng ta khai báo giá trị trên nhiều dòng bằng dấu '' "" thì sẽ sinh ra lỗi
1let string = "demo 2hello 3"; // Unterminated string literal 4// Đó là kiểu lỗi khi chúng ta sai trong visuacode 5// Nó gợi ý sẵng
Backticks còn cho phép chúng ta nhúng một biểu thức tính toán
1let logDemo = `Một cộng một bằng: ${1 + 1}`; 2console.log(logDemo); // Một cộng một bằng: 2
Để nhúng một biểu thức hay một câu lệnh gọi hàm hay một cái gì đó trong Backticks chúng ta dùng cú pháp: ${cái cần nhúng ở dây}.
1let demo = `Nhung: ${nhúng ở đây}`
Quan trọng: nó chỉ hoạt động với Backticks
Còn nếu chúng ta nhúng nó vào dấu nháy kép "" hoặc dấu nháy đơn '' nó đơn giản chỉ là một chuỗi string
1let string = "hello ${demo}"; 2console.log(string); // hello ${demo}
Các bạn có thể xem thêm nó tại đây: String
Boolean
Boolean này chỉ có 2 giá trị.
- true
- false
Nó chỉ có một mục đích hoạt động là một true hai false
1console.log(4 > 5); // false 2console.log(4 < 5); // true 3console.log(4 <= 5); // true
Trong javascript mình sẽ gặp rất rất là nhiều kiểu Boolean này.
Các bạn có thể xem thêm tại đây: Boolean
Null
Null trong javascript là một giá trị rất đặc biệt. Nó không chứa gì cả. Nó trống rỗng. Tất cả mọi thứ trong javascript rồi cũng sẽ trỏ đến Null.
Hay nói một cách đơn giản nó là trùm của tất cả mọi thứ.
1let trongRong = null; 2console.log(trongRong); // null
Các bạn có thể xem thêm nó tại đây: Null
Undefined
Ý nghĩa của nó trong javascript là nó báo một giá trị không được gán. Bạn nên ghi nhớ nó vào trong tâm trí.
1let name; 2console.log(name); // undefined
Chúng ta cũng có thể gán nó bằng chính undefined. Nhưng sẽ rất khó để xác định giá trị mà chúng ta đang gán. Thay vào đó chúng ta sử dụng giá trị null
1let name; 2console.log(name); // undefined 3 4let age = null; 5console.log(age); // null
Các bạn có thể xem thêm nó tại đây: "Undefined"
Object
Kiểu dữ liệu object trong javascript là kiểu dữ liệu tham chiếu. Tức nó là tham chiếu bằng cách trỏ đến địa chỉ đang lưu trử giá trị đó.
Làm việc với javascript các bạn sẽ gặp rất nhiều. Rồi mình sẽ giải thích từ từ
1let obj = {name: "JS_Master"}; 2console.log(obj); // [object Object]
Đến từng kiểu mình sẽ giải thích rõ hơn. Các bạn có thể xem thêm tại đây: Object
Symbol
Kiểu Symbol là một object có phương pháp trả về giá trị nguyên thủy như string number boolean ... Quan trọng là nó không được phép trả về object.
1let id = Symbol("id"); 2let obj = { 3 [id]: 1, 4 name: "offjs.com" 5 }; 6 7console.log(obj); // {name: 'offjs.com', Symbol(id): 1}
Các bạn có thể xem thêm nó tại đây: Symbol
Tổng kết
Ở đây mình đã giới thiệu tất cả các kiểu dữ liệu trong javascript cho các bạn tham khảo.
- string
- number
- boolean
- null
- undefined
- object
- BigInt
- symbol
Rồi đến lúc đi vào chi tiết từng kiểu mình sẽ giải thích sâu hơn. Các bạn nên ghi nhớ
Mọi thứ phức tạp đều được gộp lại từ những thứ căn bản.
Thank ...!
- kiểu dữ liệu
- javascript
- js