Kiểu dữ liệu trong JavaScript

giá trị chuỗi, số, giá trị布尔, mảng, đối tượng.

Kiểu dữ liệu trong JavaScript

Biến JavaScript có thể lưu trữ nhiều loạiLoại dữ liệu:số, giá trị chuỗi, mảng, đối tượng, v.v.:

var length = 7;                             // số
var lastName = "Gates";                      // chuỗi
var cars = ["Porsche", "Volvo", "BMW"];         // mảng
var x = {firstName:"Bill", lastName:"Gates"};    // đối tượng

Khái niệm loại dữ liệu

Trong quá trình lập trình, loại dữ liệu là một khái niệm quan trọng.

Để có thể操作 biến, việc hiểu rõ loại dữ liệu là rất quan trọng.

Nếu không có loại dữ liệu, máy tính sẽ không thể giải quyết an toàn bài toán này:

var x = 911 + "Porsche";

Có ý nghĩa khi thêm 911 vào "Volvo" không? Liệu điều này sẽ gây ra lỗi hay tạo ra một kết quả?

JavaScript sẽ xử lý ví dụ trên như thế này:

var x = "911" + "Porsche";

Khi số và chuỗi được cộng lại, JavaScript sẽ coi số là chuỗi.

Ví dụ

var x = 911 + "Porsche";

Thử ngay

Ví dụ

var x = "Porsche" + 911;

Thử ngay

JavaScript tính toán biểu thức từ trái sang phải. Sắp xếp khác nhau sẽ tạo ra kết quả khác nhau:

JavaScript:

var x = 911 + 7 + "Porsche";

Kết quả:

918Porsche

Thử ngay

JavaScript:

var x = "Porsche" + 911 + 7;

Kết quả:

Porsche9117

Thử ngay

Trong ví dụ thứ nhất, JavaScript coi 911 và 7 là số cho đến khi gặp "Porsche".

Trong ví dụ thứ hai, vì toán tử đầu tiên là chuỗi, nên tất cả các toán tử都被 coi là chuỗi.

JavaScript có loại dữ liệu động

JavaScript có loại dữ liệu động. Điều này có nghĩa là cùng một biến có thể được sử dụng cho nhiều loại dữ liệu khác nhau:

Ví dụ

var x;               // Bây giờ x là undefined
var x = 7;           // Bây giờ x là số
var x = "Bill";      // Bây giờ x là giá trị chuỗi

Thử ngay

Giá trị chuỗi của JavaScript

Chuỗi (hoặc chuỗi văn bản) là một dãy ký tự (ví dụ "Bill Gates").

Chuỗi được bao bọc bởi dấu ngoặc kép. Bạn có thể sử dụng dấu ngoặc kép hoặc dấu ngoặc kép:

Ví dụ

var carName = "Porsche 911";   // Sử dụng dấu ngoặc kép
var carName = 'Porsche 911';   // Sử dụng dấu ngoặc kép

Thử ngay

Bạn có thể sử dụng dấu ngoặc kép trong chuỗi, chỉ cần chúng không khớp với dấu ngoặc kép bao bọc chuỗi:

Ví dụ

var answer = "It's alright";             // 双引号内的单引号
var answer = "He is called 'Bill'";    // 单引号内的双引号
var answer = 'He is called "Bill"';    // 双引号内的单引号

Thử ngay

Bạn sẽ học thêm về chuỗi trong hướng dẫn này.

Số của JavaScript

JavaScript chỉ có một loại số.

Viết số liệu có hoặc không dấu chấm đều được:

Ví dụ

var x1 = 34.00;     // Có dấu chấm
var x2 = 34;        // Không có dấu chấm

Thử ngay

Số liệu lớn hoặc nhỏ có thể được viết dưới dạng số học:

Ví dụ

var y = 123e5;      // 12300000
var y = 123e5;      // 12300000

Thử ngay

var z = 123e-5; // 0.00123

Bạn sẽ học thêm về số liệu trong giáo trình này.

Giá trị布尔 trong JavaScriptGiá trị của giá trị布尔 chỉ có hai giá trị: true hoặc.

Ví dụ

false
var x = true;

Thử ngay

var y = false;

Giá trị布尔 thường được sử dụng trong các kiểm tra điều kiện.

Mảng trong JavaScript

Bạn sẽ học thêm về các kiểm tra điều kiện trong giáo trình này.

Mảng JavaScript được viết bằng dấu ngoặc vuông.

Các mục của mảng được phân cách bằng dấu phẩy.

Ví dụ

Mã dưới đây khai báo (tạo) mảng tên cars, chứa ba mục (thương hiệu xe):

Thử ngay

var cars = ["Porsche", "Volvo", "BMW"];

Chỉ số mảng dựa trên số 0, điều này có nghĩa là phần tử đầu tiên là [0], phần tử thứ hai là [1], và thế là.

Đối tượng trong JavaScript

Bạn sẽ học thêm về mảng trong giáo trình này.

Đối tượng JavaScript được viết bằng dấu ngoặc花括号. Thuộc tính đối tượng làtên: giá trị

Ví dụ

Đúng vậy, được phân cách bằng dấu phẩy.

Thử ngay

var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};

Trong ví dụ trên, đối tượng (person) có bốn thuộc tính: firstName, lastName, age và eyeColor.

toán tử typeof

Bạn sẽ học thêm về đối tượng trong giáo trình này. typeof để xác định loại biến JavaScript:

toán tử typeof trả về loại của biến hoặc biểu thức:

Ví dụ

typeof ""                  // Trả về "string"
typeof "Bill"              // Trả về "string"
typeof "Bill Gates"          // Trả về "string"

Thử ngay

Ví dụ

typeof 0                   // Trả về "number"
typeof 314                 // Trả về "number"
typeof 3.14                // Trả về "number"
typeof (7)                 // Trả về "number"
typeof (7 + 8)             // Trả về "number"

Thử ngay

toán tử typeof trả về "object" đối với mảng vì trong JavaScript, mảng thuộc về đối tượng.

Undefined

Trong JavaScript, biến không có giá trị có giá trị là undefined。typeof cũng trả về undefined.

Ví dụ

var person;                  // Giá trị là undefined, loại là undefined。

Thử ngay

Bất kỳ biến nào cũng có thể thiết lập giá trị là undefined để làm trống. Loại của nó cũng sẽ là undefined.

Ví dụ

person = undefined;          // Giá trị là undefined, loại là undefined。

Thử ngay

Giá trị rỗng

Giá trị rỗng và undefined Đó là hai điều khác nhau.

Biến chuỗi rỗng có giá trị và loại.

Ví dụ

var car = "";                // Giá trị là "", loại là "string"

Thử ngay

Null

Trong JavaScript,null là "nothing". Nó được coi là một điều không tồn tại.

Đáng tiếc là trong JavaScript,null dữ liệu của nó là loại đối tượng.

Bạn có thể gọi null Trong JavaScript, việc hiểu đối tượng là một lỗi. Nó nên là null.

Bạn có thể đặt giá trị là null Để làm trống đối tượng:

Ví dụ

var person = null;           // Giá trị là null, nhưng loại vẫn là đối tượng

Thử ngay

Bạn cũng có thể đặt giá trị là undefined Để làm trống đối tượng:

Ví dụ

var person = undefined;           // Giá trị là undefined, loại là undefined。

Thử ngay

Sự khác nhau giữa Undefined và Null

Undefined với null Giá trị bằng nhau, nhưng loại dữ liệu khác nhau:

typeof undefined              // undefined
typeof null                   // object
null === undefined            // false
null == undefined             // true

Thử ngay

Dữ liệu nguyên thủy

Giá trị dữ liệu nguyên thủy là một giá trị dữ liệu đơn giản không có thuộc tính và phương thức bổ sung.

typeof Toán tử có thể trả về một trong các loại dữ liệu nguyên thủy sau:

  • string
  • number
  • boolean
  • undefined

Ví dụ

typeof "Bill"              // Trả về "string"
typeof 3.14                // Trả về "number"
typeof true                // Trả về "boolean"
typeof false               // Trả về "boolean"
typeof x                   // Trả về "undefined" (nếu x không có giá trị)

Thử ngay

Dữ liệu phức tạp

typeof các toán tử có thể trả về một trong hai loại sau:

  • function
  • đối tượng

typeof các toán tử trả về đối tượng, mảng hoặc null trả về đối tượng.

typeof các toán tử không trả về đối tượng.

Ví dụ

typeof {name:'Bill', age:62} // Trả về "object"
typeof [1,2,3,4]             // Trả về "object" (không phải "mảng", xem chú thích dưới)
typeof null                  // Trả về "object"
typeof function myFunc(){}   // Trả về "function"

Thử ngay

typeof các toán tử trả về"đối tượngvì trong JavaScript, mảng là đối tượng.

Đọc thêm

Hướng dẫn nâng cao JavaScript: