Có sáu loại dữ liệu cơ bản trong JavaScript có thể được chia thành ba loại chính. kiểu dữ liệu nguyên thủy [hoặc chính], hỗn hợp [hoặc tham chiếu] và đặc biệt. Chuỗi, Số và Boolean là các kiểu dữ liệu nguyên thủy. Đối tượng, Mảng và Hàm [là tất cả các loại đối tượng] là các kiểu dữ liệu tổng hợp. Trong khi Undefined và Null là các kiểu dữ liệu đặc biệt
Các kiểu dữ liệu nguyên thủy chỉ có thể chứa một giá trị tại một thời điểm, trong khi các kiểu dữ liệu tổng hợp có thể chứa các tập hợp giá trị và các thực thể phức tạp hơn. Hãy thảo luận chi tiết từng người trong số họ
Kiểu dữ liệu chuỗi
Kiểu dữ liệu chuỗi được sử dụng để biểu diễn dữ liệu dạng văn bản [i. e. dãy ký tự]. Chuỗi được tạo bằng cách sử dụng dấu nháy đơn hoặc kép bao quanh một hoặc nhiều ký tự, như minh họa bên dưới
var a = 'Hi there!'; // using single quotes
var b = "Hi there!"; // using double quotes
Bạn có thể bao gồm các trích dẫn bên trong chuỗi miễn là chúng không khớp với các trích dẫn kèm theo
var a = "Let's have a cup of coffee."; // single quote inside double quotes
var b = 'He said "Hello" and left.'; // double quotes inside single quotes
var c = 'We\'ll never give up.'; // escaping single quote with backslash
Bạn sẽ tìm hiểu thêm về các chuỗi trong chương chuỗi JavaScript
Kiểu dữ liệu số
Kiểu dữ liệu số được sử dụng để biểu thị số dương hoặc số âm có hoặc không có chữ số thập phân hoặc số được viết bằng ký hiệu hàm mũ e. g. 1. 5e-4 [tương đương với 1. 5x10-4]
var a = 25; // integer
var b = 80.5; // floating-point number
var c = 4.25e+6; // exponential notation, same as 4.25e6 or 4250000
var d = 4.25e-6; // exponential notation, same as 0.00000425
Kiểu dữ liệu Số cũng bao gồm một số giá trị đặc biệt được.
var a = "Let's have a cup of coffee."; // single quote inside double quotes
var b = 'He said "Hello" and left.'; // double quotes inside single quotes
var c = 'We\'ll never give up.'; // escaping single quote with backslash
5, var a = "Let's have a cup of coffee."; // single quote inside double quotes
var b = 'He said "Hello" and left.'; // double quotes inside single quotes
var c = 'We\'ll never give up.'; // escaping single quote with backslash
6 và var a = "Let's have a cup of coffee."; // single quote inside double quotes
var b = 'He said "Hello" and left.'; // double quotes inside single quotes
var c = 'We\'ll never give up.'; // escaping single quote with backslash
7. Vô cực đại diện cho Vô cực toán học var a = "Let's have a cup of coffee."; // single quote inside double quotes
var b = 'He said "Hello" and left.'; // double quotes inside single quotes
var c = 'We\'ll never give up.'; // escaping single quote with backslash
8, lớn hơn bất kỳ số nào. Vô cực là kết quả của việc chia một số khác không cho 0, như minh họa bên dướialert[16 / 0]; // Output: Infinity
alert[-16 / 0]; // Output: -Infinity
alert[16 / -0]; // Output: -Infinity
Trong khi
var a = "Let's have a cup of coffee."; // single quote inside double quotes
var b = 'He said "Hello" and left.'; // double quotes inside single quotes
var c = 'We\'ll never give up.'; // escaping single quote with backslash
7 đại diện cho một giá trị Not-a-Number đặc biệt. Đó là kết quả của một phép toán không hợp lệ hoặc không xác định, chẳng hạn như lấy căn bậc hai của -1 hoặc chia 0 cho 0, v.v.alert["Some text" / 2]; // Output: NaN
alert["Some text" / 2 + 10]; // Output: NaN
alert[Math.sqrt[-1]]; // Output: NaN
Bạn sẽ tìm hiểu thêm về các con số trong chương số JavaScript
Kiểu dữ liệu Boolean
Kiểu dữ liệu Boolean chỉ có thể chứa hai giá trị.
var a = 25; // integer
var b = 80.5; // floating-point number
var c = 4.25e+6; // exponential notation, same as 4.25e6 or 4250000
var d = 4.25e-6; // exponential notation, same as 0.00000425
0 hoặc var a = 25; // integer
var b = 80.5; // floating-point number
var c = 4.25e+6; // exponential notation, same as 4.25e6 or 4250000
var d = 4.25e-6; // exponential notation, same as 0.00000425
1. Nó thường được sử dụng để lưu trữ các giá trị như có [var a = 25; // integer
var b = 80.5; // floating-point number
var c = 4.25e+6; // exponential notation, same as 4.25e6 or 4250000
var d = 4.25e-6; // exponential notation, same as 0.00000425
0] hoặc không [var a = 25; // integer
var b = 80.5; // floating-point number
var c = 4.25e+6; // exponential notation, same as 4.25e6 or 4250000
var d = 4.25e-6; // exponential notation, same as 0.00000425
1], bật [var a = 25; // integer
var b = 80.5; // floating-point number
var c = 4.25e+6; // exponential notation, same as 4.25e6 or 4250000
var d = 4.25e-6; // exponential notation, same as 0.00000425
0] hoặc tắt [var a = 25; // integer
var b = 80.5; // floating-point number
var c = 4.25e+6; // exponential notation, same as 4.25e6 or 4250000
var d = 4.25e-6; // exponential notation, same as 0.00000425
1], v.v. như minh họa dưới đâyvar a = "Let's have a cup of coffee."; // single quote inside double quotes
var b = 'He said "Hello" and left.'; // double quotes inside single quotes
var c = 'We\'ll never give up.'; // escaping single quote with backslash
6Các giá trị Boolean cũng là kết quả của sự so sánh trong một chương trình. Ví dụ sau so sánh hai biến và hiển thị kết quả trong hộp thoại cảnh báo
var a = "Let's have a cup of coffee."; // single quote inside double quotes
var b = 'He said "Hello" and left.'; // double quotes inside single quotes
var c = 'We\'ll never give up.'; // escaping single quote with backslash
7Bạn sẽ tìm hiểu thêm về các phép so sánh trong chương if/else JavaScript
Kiểu dữ liệu không xác định
Kiểu dữ liệu không xác định chỉ có thể có một giá trị-giá trị đặc biệt
var a = 25; // integer
var b = 80.5; // floating-point number
var c = 4.25e+6; // exponential notation, same as 4.25e6 or 4250000
var d = 4.25e-6; // exponential notation, same as 0.00000425
6. Nếu một biến đã được khai báo nhưng chưa được gán giá trị, nó có giá trị là var a = 25; // integer
var b = 80.5; // floating-point number
var c = 4.25e+6; // exponential notation, same as 4.25e6 or 4250000
var d = 4.25e-6; // exponential notation, same as 0.00000425
6var a = 25; // integer
var b = 80.5; // floating-point number
var c = 4.25e+6; // exponential notation, same as 4.25e6 or 4250000
var d = 4.25e-6; // exponential notation, same as 0.00000425
0Kiểu dữ liệu Null
Đây là một loại dữ liệu đặc biệt khác chỉ có thể có một giá trị-giá trị
var a = 25; // integer
var b = 80.5; // floating-point number
var c = 4.25e+6; // exponential notation, same as 4.25e6 or 4250000
var d = 4.25e-6; // exponential notation, same as 0.00000425
8. Giá trị var a = 25; // integer
var b = 80.5; // floating-point number
var c = 4.25e+6; // exponential notation, same as 4.25e6 or 4250000
var d = 4.25e-6; // exponential notation, same as 0.00000425
8 có nghĩa là không có giá trị. Nó không tương đương với một chuỗi rỗng [alert[16 / 0]; // Output: Infinity
alert[-16 / 0]; // Output: -Infinity
alert[16 / -0]; // Output: -Infinity
0] hoặc 0, nó đơn giản là không có gìMột biến có thể được làm trống một cách rõ ràng về nội dung hiện tại của nó bằng cách gán cho nó giá trị
var a = 25; // integer
var b = 80.5; // floating-point number
var c = 4.25e+6; // exponential notation, same as 4.25e6 or 4250000
var d = 4.25e-6; // exponential notation, same as 0.00000425
8var a = 25; // integer
var b = 80.5; // floating-point number
var c = 4.25e+6; // exponential notation, same as 4.25e6 or 4250000
var d = 4.25e-6; // exponential notation, same as 0.00000425
5Kiểu dữ liệu đối tượng
alert[16 / 0]; // Output: Infinity
alert[-16 / 0]; // Output: -Infinity
alert[16 / -0]; // Output: -Infinity
2 là một kiểu dữ liệu phức tạp cho phép bạn lưu trữ các bộ sưu tập dữ liệuMột đối tượng chứa các thuộc tính, được định nghĩa là một cặp khóa-giá trị. Khóa thuộc tính [tên] luôn là một chuỗi nhưng giá trị có thể là bất kỳ loại dữ liệu nào, như chuỗi, số, booleans hoặc các loại dữ liệu phức tạp như mảng, hàm và các đối tượng khác. Bạn sẽ tìm hiểu thêm về các đối tượng trong các chương tiếp theo
Ví dụ sau sẽ chỉ cho bạn cách đơn giản nhất để tạo một đối tượng trong JavaScript
var a = 25; // integer
var b = 80.5; // floating-point number
var c = 4.25e+6; // exponential notation, same as 4.25e6 or 4250000
var d = 4.25e-6; // exponential notation, same as 0.00000425
7Bạn có thể bỏ qua dấu ngoặc kép xung quanh tên thuộc tính nếu tên đó là tên JavaScript hợp lệ. Điều đó có nghĩa là dấu ngoặc kép được yêu cầu khoảng
alert[16 / 0]; // Output: Infinity
alert[-16 / 0]; // Output: -Infinity
alert[16 / -0]; // Output: -Infinity
3 nhưng là tùy chọn khoảng alert[16 / 0]; // Output: Infinity
alert[-16 / 0]; // Output: -Infinity
alert[16 / -0]; // Output: -Infinity
4. Vì vậy, đối tượng xe hơi trong ví dụ trên cũng có thể được viết làvar a = "Let's have a cup of coffee."; // single quote inside double quotes
var b = 'He said "Hello" and left.'; // double quotes inside single quotes
var c = 'We\'ll never give up.'; // escaping single quote with backslash
0Bạn sẽ tìm hiểu thêm về các đối tượng trong chương đối tượng JavaScript
Kiểu dữ liệu mảng
Mảng là một loại đối tượng được sử dụng để lưu trữ nhiều giá trị trong một biến. Mỗi giá trị [còn được gọi là một phần tử] trong một mảng có một vị trí số, được gọi là chỉ mục của nó và nó có thể chứa dữ liệu của bất kỳ loại dữ liệu nào - số, chuỗi, boolean, hàm, đối tượng và thậm chí cả các mảng khác. Chỉ số mảng bắt đầu từ 0, do đó phần tử mảng đầu tiên là
alert[16 / 0]; // Output: Infinity
alert[-16 / 0]; // Output: -Infinity
alert[16 / -0]; // Output: -Infinity
5 chứ không phải alert[16 / 0]; // Output: Infinity
alert[-16 / 0]; // Output: -Infinity
alert[16 / -0]; // Output: -Infinity
6Cách đơn giản nhất để tạo một mảng là chỉ định các phần tử mảng dưới dạng danh sách được phân tách bằng dấu phẩy được bao quanh bởi dấu ngoặc vuông, như minh họa trong ví dụ bên dưới
var a = "Let's have a cup of coffee."; // single quote inside double quotes
var b = 'He said "Hello" and left.'; // double quotes inside single quotes
var c = 'We\'ll never give up.'; // escaping single quote with backslash
1Bạn sẽ tìm hiểu thêm về mảng trong chương mảng JavaScript
Kiểu dữ liệu chức năng
Hàm là đối tượng có thể gọi được thực thi một khối mã. Vì các hàm là các đối tượng nên có thể gán chúng cho các biến, như trong ví dụ bên dưới
var a = "Let's have a cup of coffee."; // single quote inside double quotes
var b = 'He said "Hello" and left.'; // double quotes inside single quotes
var c = 'We\'ll never give up.'; // escaping single quote with backslash
2Trên thực tế, các chức năng có thể được sử dụng ở bất kỳ nơi nào mà bất kỳ giá trị nào khác có thể được sử dụng. Các chức năng có thể được lưu trữ trong các biến, đối tượng và mảng. Các hàm có thể được truyền dưới dạng đối số cho các hàm khác và các hàm có thể được trả về từ các hàm. Xét hàm sau
var a = "Let's have a cup of coffee."; // single quote inside double quotes
var b = 'He said "Hello" and left.'; // double quotes inside single quotes
var c = 'We\'ll never give up.'; // escaping single quote with backslash
3Bạn sẽ tìm hiểu thêm về các hàm trong chương hàm JavaScript
Loại toán tử
Toán tử
alert[16 / 0]; // Output: Infinity
alert[-16 / 0]; // Output: -Infinity
alert[16 / -0]; // Output: -Infinity
7 có thể được sử dụng để tìm ra loại dữ liệu mà một biến hoặc toán hạng chứa. Nó có thể được sử dụng có hoặc không có dấu ngoặc đơn [alert[16 / 0]; // Output: Infinity
alert[-16 / 0]; // Output: -Infinity
alert[16 / -0]; // Output: -Infinity
8 hoặc alert[16 / 0]; // Output: Infinity
alert[-16 / 0]; // Output: -Infinity
alert[16 / -0]; // Output: -Infinity
9]Toán tử
alert[16 / 0]; // Output: Infinity
alert[-16 / 0]; // Output: -Infinity
alert[16 / -0]; // Output: -Infinity
7 đặc biệt hữu ích trong các tình huống khi bạn cần xử lý các giá trị của các loại khác nhau theo cách khác nhau, nhưng bạn cần hết sức cẩn thận, vì nó có thể tạo ra kết quả không mong muốn trong một số trường hợp, như minh họa trong ví dụ sauvar a = "Let's have a cup of coffee."; // single quote inside double quotes
var b = 'He said "Hello" and left.'; // double quotes inside single quotes
var c = 'We\'ll never give up.'; // escaping single quote with backslash
4Như bạn có thể thấy rõ trong ví dụ trên khi chúng tôi kiểm tra giá trị
var a = 25; // integer
var b = 80.5; // floating-point number
var c = 4.25e+6; // exponential notation, same as 4.25e6 or 4250000
var d = 4.25e-6; // exponential notation, same as 0.00000425
8 bằng toán tử alert[16 / 0]; // Output: Infinity
alert[-16 / 0]; // Output: -Infinity
alert[16 / -0]; // Output: -Infinity
7 [dòng số 22], nó trả về "đối tượng" thay vì "null"Đây là một lỗi đã tồn tại từ lâu trong JavaScript, nhưng vì rất nhiều mã trên web được viết xung quanh hành vi này và do đó, việc khắc phục nó sẽ tạo ra nhiều vấn đề hơn, vì vậy ý tưởng khắc phục sự cố này đã bị ủy ban thiết kế và duy trì JavaScript từ chối.