Bạn đang xem : kiểu dữ liệu trong javascript

Giá trị trong JavaScript luôn thuộc một kiểu nhất định. Ví dụ: một chuỗi hoặc một số.

Có tám kiểu dữ liệu cơ bản trong JavaScript. Ở đây, chúng tôi sẽ trình bày tổng quát về chúng và trong các chương tiếp theo, chúng tôi sẽ nói chi tiết về từng chúng.

Chúng tôi có thể đặt bất kỳ loại nào vào 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ố:

  // không có lỗi
let message = "xin chào";
message = 123456;  

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à “nhập động”, nghĩa là có các kiểu dữ liệu tồn tại, nhưng các biến không bị ràng buộc với bất kỳ kiểu nào trong số đó.

  let n = 123;
n = 12.345;  

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 cho các số, ví dụ: phép nhân * , phép chia / , phép cộng + , phép trừ - , 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 về kiểu dữ liệu này: Infinity , -Infinity NaN .

  • Infinity đại diện cho Infinity ∞ toán học. Đó là một giá trị đặc biệt lớn hơn bất kỳ con số nào.

    Chúng ta có thể lấy nó như là kết quả của phép chia cho 0:


      alert (1/0); // Vô cực  

    Hoặc chỉ cần tham khảo trực tiếp:


      alert (Infinity); // Vô cực  
  • NaN biểu thị một lỗi tính toán. Ví dụ: nó là kết quả của một phép toán không chính xác hoặc không xác định:


      alert ("không phải số" / 2); // Không, việc phân chia như vậy là sai  

    NaN dính. Bất kỳ phép toán nào khác trên NaN trả về NaN :


      alert (NaN + 1); // NaN
    cảnh báo (3 * NaN); // NaN
    alert ("không phải là số" / 2 - 1); // NaN  

    Vì vậy, nếu có NaN ở đâu đó trong một biểu thức toán học, thì nó sẽ truyền đến toàn bộ kết quả (chỉ có một ngoại lệ cho điều đó: NaN ** 0 1 ).

Các phép toán 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 không, 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 (“die”). Tệ nhất, kết quả là chúng ta sẽ nhận được NaN .

Các giá trị số đặc biệt chính thức thuộc về 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 con số trong chương Con số .

Trong JavaScript, loại “số” không thể đại diện cho các giá trị số nguyên lớn hơn (253-1) (đó là 9007199254740991 ) hoặc nhỏ hơn - (253 -1) cho phủ định. Đó là một hạn chế kỹ thuật do đại diện nội bộ của họ gây ra.

Đối với hầu hết các mục đích là đủ, nhưng đôi khi chúng tôi cần những con số thực sự lớn, ví dụ: cho mật mã hoặc dấu thời gian chính xác đến micro giây.

Loại BigInt 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ị BigInt được tạo bằng cách thêm n vào cuối một số nguyên:

  // chữ "n" ở cuối nghĩa là đó là BigInt
const bigInt = 1234567890123456789012345678901234567890n;  

Vì hiếm khi cần đến các số BigInt , chúng tôi không trình bày chúng ở đây mà dành cho chúng một chương riêng BigInt . Hãy đọc nó khi bạn cần những con số lớn như vậy.

Vấn đề về khả năng tương thích

Ngay bây giờ, BigInt được hỗ trợ trong Firefox / Chrome / Edge / Safari, nhưng không hỗ trợ trong IE.

Bạn có thể kiểm tra bảng tương thích MDN BigInt để 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.

  let str = "Xin chào";
let str2 = 'Dấu nháy đơn cũng được';
để cho cụm từ = `có thể nhúng một $ {str}`;  

khác

Trong JavaScript, có 3 loại dấu ngoặc kép.

  1. Dấu ngoặc kép: "Xin chào" .
  2. Dấu ngoặc kép: 'Xin chào' .
  3. Dấu ngoặc kép: `Xin chào` .

Dấu ngoặc kép và dấu nháy đơn là những 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.

Dấu ngoặc kép là dấu ngoặc kép "chức năng mở rộng". Chúng cho phép chúng tôi 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 $ {…} , ví dụ:


  let name = "John";

// nhúng một biến
alert (`Xin chào, $ {name}!`); // Chào John!

// nhúng một biểu thức
alert (`kết quả là $ {1 + 2} '); // kết quả là 3  

Biểu thức bên trong $ {…} được đánh giá và kết quả trở thành một phần của chuỗi. Chúng ta có thể đưa bất cứ thứ gì vào đó: một biến như name hoặc một biểu thức số học như 1 + 2 hoặc một cái gì đó phức tạp hơn.

Xin lưu ý rằng điều này chỉ có thể được thực hiện trong backticks. Các trích dẫn khác không có chức năng nhúng này!


  alert ("kết quả là $ {1 + 2}"); // kết quả là $ {1 + 2} (dấu ngoặc kép không có tác dụng gì)  

Chúng tôi sẽ trình bày kỹ hơn các chuỗi trong chương Chuỗi .

Không có kiểu 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ó kiểu như vậy. Chỉ có một loại: string . 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ị: true false .

Loại này thường được sử dụng để lưu trữ các giá trị có / không: true có nghĩa là "có, đúng" và false có nghĩa là "không, không chính xác".

Ví dụ:

  let nameFieldChecked = true; // vâng, trường tên được chọn
hãy để ageFieldChecked = false; // không, trường tuổi không được chọn  

Các giá trị boolean cũng là kết quả của việc so sánh:


  let isGreater = 4 & gt; 1;

cảnh báo (isGreater); // true (kết quả so sánh là "yes")  

Chúng tôi sẽ trình bày sâu hơn về boolean trong chương Toán tử lôgic .

Giá trị null đặc biệt không thuộc bất kỳ loại nào được mô tả ở trên.

Nó tạo thành một loại riêng biệt chỉ chứa giá trị null :

  let age = null;  

Trong JavaScript, null không phải là “tham chiếu đến đối tượng không tồn tại” hoặc “con trỏ null” như trong một số ngôn ngữ khác.

Đó 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 age không xác định.

Giá trị đặc biệt undefined cũng khác nhau. Nó tạo ra một loại của riêng nó, giống như null .

Ý nghĩa của undefined 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à không xác định :


  let age;

cảnh giác (tuổi); // hiển thị "không xác định"  

Về mặt kỹ thuật, có thể chỉ định rõ ràng undefined cho một biến:


  let age = 100;

// thay đổi giá trị thành không xác định
tuổi = không xác định;

cảnh giác (tuổi); // "không xác định"  

… 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 null để gán giá trị "trống" hoặc "không xác định" cho một biến, trong khi không xác định được dành riêng làm giá trị ban đầu mặc định cho những thứ chưa được gán.

Loại đối tượng là đặc biệt.

Tất cả các kiểu 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 cứ 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.

Quan trọng như vậy, các đối tượng xứng đáng nhận được sự đối xử đặc biệt. Chúng ta sẽ giải quyết chúng ở phần 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 biểu tượng được sử dụng để tạo mã nhận dạng duy nhất cho các đối tượng. Chúng tôi phải đề cập đến nó ở đây cho đầy đủ, nhưng cũng hoãn các chi tiết cho đến khi chúng tôi biết các đối tượng.

Toán tử typeof trả về kiểu của đối số. Điều này rất hữu ích khi chúng ta muốn xử lý các loại giá trị khác nhau theo cách khác nhau hoặc chỉ muốn kiểm tra nhanh.

Một lệnh gọi tới typeof x trả về một chuỗi có tên loại:

  typeof undefined // "undefined"

typeof 0 // "số"

typeof 10n // "bigint"

typeof true // "boolean"

typeof "foo" // "chuỗi"

typeof Symbol ("id") // "biểu tượng"

typeof Math // "đối tượng" (1)

typeof null // "đối tượng" (2)

typeof alert // "function" (3)  

Ba dòng cuối cùng có thể cần giải thích thêm:

  1. Math là một đối tượng tích hợp cung cấp các phép toán. Chúng ta sẽ tìm hiểu nó trong chương Numbers . Ở đây, nó chỉ đóng vai trò là một ví dụ về một đối tượng.
  2. Kết quả của typeof null "object" . Đó là lỗi được chính thức công nhận trong typeof , xuất hiện từ những ngày đầu của JavaScript và được giữ lại để tương thích. Chắc chắn, null không phải là một đối tượng. Đó là một giá trị đặc biệt với một loại riêng biệt của riêng nó. Hoạt động của typeof ở đây là sai.
  3. Kết quả của typeof alert "function" , vì alert là một hàm. Chúng ta sẽ nghiên cứu các hàm trong các chương tiếp theo, nơi chúng ta cũng sẽ thấy rằng không có loại "hàm" đặc biệt nào trong JavaScript. Các hàm thuộc kiểu đối tượng. Nhưng typeof xử lý chúng theo cách khác, trả về "function" . Điều đó cũng đến từ những ngày đầu của JavaScript. Về mặt kỹ thuật, hành vi như vậy là không đúng, nhưng có thể thuận tiện trong thực tế.

Cú pháp typeof (x)

Bạn cũng có thể gặp một cú pháp khác: typeof (x) . Nó giống với typeof x .

Nói rõ hơn: typeof là một toán tử, không phải là một hàm. Dấu ngoặc đơn ở đây không phải là một phần của typeof . Đây là loại dấu ngoặc đơn được sử dụng để phân nhóm toán học.

Thô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ư (2 + 2) , nhưng ở đây chúng chỉ chứa một đối số (x) . Về mặt cú pháp, chúng cho phép tránh khoảng trắng giữa toán tử typeof và đối số của nó và một số người thích điều đó.

Một số người thích typeof (x) , mặc dù cú pháp typeof x phổ biến hơn nhiều.

Có 8 kiểu dữ liệu cơ bản trong JavaScript.

  • number cho các số thuộc bất kỳ loại nào: số nguyên hoặc dấu phẩy động, các số nguyên bị giới hạn bởi ± (253-1) .
  • bigint dành cho các số nguyên có độ dài tùy ý.
  • string cho các chuỗi. Một chuỗi có thể có không hoặc nhiều ký tự, không có loại ký tự đơn riêng biệt.
  • boolean cho true / false .
  • null cho các giá trị không xác định - một loại độc lập có một giá trị duy nhất null .
  • undefined cho các giá trị chưa được gán - một loại độc lập có một giá trị duy nhất undefined .
  • object cho các cấu trúc dữ liệu phức tạp hơn.
  • ký hiệu cho các số nhận dạng duy nhất.

Toán tử typeof cho phép chúng tôi xem kiểu nào được lưu trữ trong một biến.

  • Thường được sử dụng dưới dạng typeof x , nhưng typeof (x) cũng có thể được sử dụng.
  • Trả về một chuỗi có tên của loại, chẳng hạn như "string" .
  • Đối với null trả về "object" - đây là lỗi trong ngôn ngữ, nó không thực sự là một đối tượng.

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 chúng ta đã quen thuộc với chúng, chúng ta sẽ chuyển sang các đối tượng.


Xem thêm những thông tin liên quan đến chủ đề các kiểu dữ liệu trong javascript

JavaScript 09: Các kiểu dữ liệu

  • Tác giả: thân triệu
  • Ngày đăng: 2019-05-09
  • Đánh giá: 4 ⭐ ( 9271 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Học lập trình JavaScript cơ bản. JavaScript cho tất cả mọi người. Kiểu dữ liệu trong js gồm: string, number, undefined, boolean, object...

Giới thiệu 8 loại và cách lưu trữ kiểm tra dữ liệu

  • Tác giả: anonystick.com
  • Đánh giá: 5 ⭐ ( 9152 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Kiểu dữ liệu javascript là có 8 kiểu dữ liệu trong đó có 7 kiểu dữ liệu cơ bản hay còn gọi là Kiểu dữ liệu nguyên thủy trong JavaScript, và một kiểu đó là kiểu tham chiếu. Ở đây chúng ta cùng giải thích các kiểu dữ liệu một cách rõ rằng nhất. Và nó là một trong 66 khái niệm mà đã được đưa ra cho quy trình học javascript.

Kiểu dữ liệu JavaScript

  • Tác giả: xuanthulab.net
  • Đánh giá: 5 ⭐ ( 1351 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Khai báo khởi tạo các kiểu dữ liệu trong JavaScript, dữ liệu dạng số, dữ liệu chuỗi và logic

Các loại dữ liệu JavaScript

  • Tác giả: codefly.vn
  • Đánh giá: 3 ⭐ ( 6254 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Các kiểu dữ liệu (Data Type) trong JavaScript

  • Tác giả: webcoban.vn
  • Đánh giá: 4 ⭐ ( 9952 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: các kiểu dữ liệu data type trong javascript,cac kieu du lieu data type trong javascript

Các kiểu dữ liệu trong JavaScript

  • Tác giả: kungfutech.edu.vn
  • Đánh giá: 3 ⭐ ( 2468 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Các kiểu dữ liệu trong JavaScript

Các kiểu dữ liệu trong Javascript

  • Tác giả: funix.edu.vn
  • Đánh giá: 5 ⭐ ( 4623 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Nếu chỉ mới bắt đầu học Javascript, bạn nên nắm chắc kiến thức cơ bản về các kiểu dữ liệu trong ngôn ngữ lập trình này. Cùng FUNiX tìm hiểu 6 kiểu dữ liệu trong Javascript và tham khảo một số ví dụ điển hình.

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  Chuyển đổi Hex sang Decimal trong JavaScript - hex đến số javascript

By ads_php