Có tám loại dữ liệu cơ bản trong JavaScript. Ở đây, chúng tôi sẽ đề cập đến chúng một cách tổng quát và trong các chương tiếp theo, chúng tôi sẽ nói chi tiết về từng loại Chúng ta có thể đặt bất kỳ loại nào trong một biến. Ví dụ, một biến tại một thời điểm có thể là một chuỗi và sau đó lưu trữ một số
Các ngôn ngữ lập trình cho phép những thứ như vậy, chẳng hạn như JavaScript, được gọi là "kiểu động", nghĩa là tồn tại các kiểu dữ liệu, nhưng các biến không bị ràng buộc với bất kỳ kiểu nào trong số chúng
Loại số đại diện cho cả số nguyên và số dấu phẩy động Có nhiều phép toán đối với các số, e. g. phép nhân 7, phép chia 8, phép cộng 9, phép trừ 0, v.v.Bên cạnh các số thông thường, còn có cái gọi là “giá trị số đặc biệt” cũng thuộc loại dữ liệu này. 1, 2 và 3
Các phép toán được an toàn Làm toán là “an toàn” trong JavaScript. chúng ta có thể làm bất cứ điều gì. chia cho 0, coi các chuỗi không phải số là số, v.v. Tập lệnh sẽ không bao giờ dừng lại với một lỗi nghiêm trọng (“chết”). Tệ nhất, chúng ta sẽ nhận được kết quả là 3Các giá trị số đặc biệt chính thức thuộc loại “số”. Tất nhiên chúng không phải là những con số theo nghĩa thông thường của từ này Chúng ta sẽ xem thêm về cách làm việc với các số trong chương Số Trong JavaScript, loại "số" không thể đại diện một cách an toàn cho các giá trị số nguyên lớn hơn 13 (đó là 14) hoặc nhỏ hơn 15 cho số âmThực sự chính xác, loại “số” có thể lưu trữ các số nguyên lớn hơn (tối đa 16), nhưng bên ngoài phạm vi số nguyên an toàn 17 sẽ có lỗi chính xác, vì không phải tất cả các chữ số đều phù hợp với bộ lưu trữ 64 bit cố định. Vì vậy, một giá trị "xấp xỉ" có thể được lưu trữVí dụ: hai số này (ngay trên phạm vi an toàn) giống nhau 7Vì vậy, có thể nói, tất cả các số nguyên lẻ lớn hơn 13 hoàn toàn không thể được lưu trữ trong loại "số"Đối với hầu hết các mục đích, phạm vi 17 là khá đủ, nhưng đôi khi chúng ta cần toàn bộ phạm vi của các số nguyên thực sự lớn, e. g. cho mật mã hoặc dấu thời gian chính xác micro giâyLoại 30 gần đây đã được thêm vào ngôn ngữ để biểu thị các số nguyên có độ dài tùy ýGiá trị 30 được tạo bằng cách nối thêm 32 vào cuối một số nguyên 3Vì số 30 hiếm khi cần thiết nên chúng tôi không đề cập đến chúng ở đây mà dành một chương riêng cho chúng BigInt. Đọc nó khi bạn cần những con số lớn như vậyNhững vấn đề tương thích Hiện tại, 30 được hỗ trợ trong Firefox/Chrome/Edge/Safari, nhưng không hỗ trợ trong IEBạn có thể kiểm tra để biết phiên bản trình duyệt nào được hỗ trợ Một chuỗi trong JavaScript phải được bao quanh bởi dấu ngoặc kép 6Trong JavaScript, có 3 loại trích dẫn
Dấu ngoặc kép và dấu ngoặc đơn là dấu ngoặc kép "đơn giản". Thực tế không có sự khác biệt giữa chúng trong JavaScript Backticks là trích dẫn “chức năng mở rộng”. Chúng cho phép chúng ta nhúng các biến và biểu thức vào một chuỗi bằng cách gói chúng trong 38 chẳng hạn 1Biểu thức bên trong 38 được đánh giá và kết quả trở thành một phần của chuỗi. Chúng ta có thể đặt bất cứ thứ gì vào đó. một biến như 70 hoặc một biểu thức số học như 71 hoặc một cái gì đó phức tạp hơnXin lưu ý rằng điều này chỉ có thể được thực hiện trong backticks. Các báo giá khác không có chức năng nhúng này 0Chúng tôi sẽ đề cập kỹ hơn về chuỗi trong chương Chuỗi Không có loại ký tự Trong một số ngôn ngữ, có một loại "ký tự" đặc biệt cho một ký tự. Ví dụ, trong ngôn ngữ C và Java nó được gọi là “char” Trong JavaScript, không có loại như vậy. Chỉ có một loại. 72. Một chuỗi có thể bao gồm 0 ký tự (để trống), một ký tự hoặc nhiều ký tựKiểu boolean chỉ có hai giá trị. 73 và 74Loại này thường được sử dụng để lưu trữ giá trị có/không. 73 có nghĩa là “đúng, đúng” và 74 có nghĩa là “không, sai”Ví dụ 1Giá trị Boolean cũng là kết quả của sự so sánh 2Chúng ta sẽ đề cập sâu hơn về các phép toán luận trong chương Toán tử logic Giá trị 77 đặc biệt không thuộc bất kỳ loại nào được mô tả ở trênNó tạo thành một loại riêng biệt chỉ chứa giá trị 77 3Trong JavaScript, 77 không phải là “tham chiếu đến một đối tượng không tồn tại” hay “con trỏ null” như trong một số ngôn ngữ khácNó chỉ là một giá trị đặc biệt đại diện cho “không có gì”, “trống rỗng” hoặc “giá trị không xác định” Đoạn mã trên nói rằng 70 không xác địnhGiá trị đặc biệt 71 cũng nổi bật. Nó tạo ra một kiểu của riêng nó, giống như 77Ý nghĩa của 71 là "giá trị không được chỉ định"Nếu một biến được khai báo, nhưng không được gán, thì giá trị của nó là 71 4Về mặt kỹ thuật, có thể gán rõ ràng 71 cho một biến 5…Nhưng chúng tôi không khuyên bạn nên làm điều đó. Thông thường, người ta sử dụng 77 để gán giá trị “rỗng” hoặc “không xác định” cho một biến, trong khi 71 được dành riêng làm giá trị ban đầu mặc định cho những thứ chưa được gánLoại 78 là đặc biệtTất cả các loại khác được gọi là "nguyên thủy" vì giá trị của chúng chỉ có thể chứa một thứ duy nhất (có thể là một chuỗi hoặc một số hoặc bất kỳ thứ gì). Ngược lại, các đối tượng được sử dụng để lưu trữ các bộ sưu tập dữ liệu và các thực thể phức tạp hơn Là quan trọng như vậy, các đối tượng xứng đáng được đối xử đặc biệt. Chúng ta sẽ giải quyết chúng sau trong chương Đối tượng, sau khi chúng ta tìm hiểu thêm về nguyên thủy. Loại 79 được sử dụng để tạo định danh duy nhất cho các đối tượng. Chúng tôi phải đề cập đến nó ở đây vì mục đích hoàn chỉnh, nhưng cũng hoãn lại các chi tiết cho đến khi chúng tôi biết các đối tượngToán tử 30 trả về loại toán hạng. Nó hữu ích khi chúng tôi muốn xử lý các giá trị thuộc các loại khác nhau theo cách khác hoặc chỉ muốn kiểm tra nhanhMột cuộc gọi đến 31 trả về một chuỗi có tên loại 6Ba dòng cuối cùng có thể cần giải thích thêm
Cú pháp Bạn cũng có thể gặp một cú pháp khác. 63. Nó giống như 31Để làm cho nó rõ ràng. 30 là toán tử, không phải hàm. Dấu ngoặc đơn ở đây không phải là một phần của 30. Đó là loại dấu ngoặc đơn được sử dụng để nhóm toán họcThông thường, các dấu ngoặc đơn như vậy chứa một biểu thức toán học, chẳng hạn như 68, nhưng ở đây chúng chỉ chứa một đối số 69. Về mặt cú pháp, chúng cho phép tránh khoảng trắng giữa toán tử 30 và đối số của nó, và một số người thích điều nàyMột số người thích dùng 63 hơn, mặc dù cú pháp 31 phổ biến hơn nhiềuCó 8 kiểu dữ liệu cơ bản trong JavaScript
Toán tử 30 cho phép chúng ta xem loại nào được lưu trữ trong một biến
Trong các chương tiếp theo, chúng ta sẽ tập trung vào các giá trị nguyên thủy và khi đã quen thuộc với chúng, chúng ta sẽ chuyển sang các đối tượng JavaScript sẽ bao giờ có các loại?JavaScript chắc chắn có các loại . typeof 42 == "số" typeof "xin chào" == "chuỗi" typeof {} == "đối tượng"
Kiểu dữ liệu nào không có sẵn trong JavaScript?Không xác định. Trong JavaScript, một biến không có giá trị, có giá trị không xác định. Loại cũng không xác định |