Kiểu dữ liệu trong JavaScript
- Trang trước Gán giá trị JS
- Trang tiếp theo Hàm JS
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";
Ví dụ
var x = "Porsche" + 911;
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
JavaScript:
var x = "Porsche" + 911 + 7;
Kết quả:
Porsche9117
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
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
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"'; // 双引号内的单引号
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
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
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;
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):
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.
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"
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"
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。
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。
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"
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
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。
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
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ị)
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"
typeof
các toán tử trả về"đối tượng
vì trong JavaScript, mảng là đối tượng.
Đọc thêm
Hướng dẫn nâng cao JavaScript:
- Trang trước Gán giá trị JS
- Trang tiếp theo Hàm JS