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

CHÀO MỪNG BẠN ĐẾN VỚI THƯ VIỆN HỌC TẬP & ĐÀO TẠO CƠ BẢN

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

JavaScript

Hướng dẫn JavaScript

Biểu mẫu JavaScript

Đối tượng JavaScript

Hàm JavaScript

DOM JavaScript

Trình duyệt BOM

JavaScript Ajax

JavaScript Json

Các biến JavaScript có thể chứa nhiều loại dữ liệu: số, chuỗi, đối tượng…:

var length = 16;                               // Number
var lastName = “Johnson”;                      // String
var x = {firstName:”John”, lastName:”Doe”};    // Object

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

Trong lập trình, các kiểu dữ liệu là một khái niệm quan trọng. Để có thể hoạt động trên các biến, điều quan trọng là phải biết điều gì đó về loại dữ liệu.

Nếu không có các kiểu dữ liệu, máy tính không thể giải quyết vấn đề này một cách hiệu quả:

var x = 16 + “Volvo”;

Ví dụ trên là một điển hình, kết quả trả về sẽ cho ra giá trị gì khi thêm chuỗi Volvo và số 16. JavaScript sẽ xử lý ví dụ trên là:

var x = “16” + “Volvo”;

Khi thêm một số và một chuỗi, JavaScript sẽ xử lý số như một chuỗi.

var x = 16 + “Volvo”;

var x = “Volvo” + 16;

JavaScript đánh giá các biểu thức từ trái sang phải. Các trình tự khác nhau có thể tạo ra các kết quả khác nhau:

Ví dụ 1:

var x = 16 + 4 + “Volvo”;

Kết quả 1:

20Volvo

Ví dụ 2:

var x = “Volvo” + 16 + 4;

Kết quả 2:

Volvo164

Trong ví dụ đầu tiên, JavaScript xử lý 16 và 4 như số học, cho đến khi nó đạt đến “Volvo”. Trong ví dụ thứ hai, toán hạng đầu tiên là một chuỗi thì tất cả các toán hạng sau được coi như chuỗi.

Các kiểu JavaScript động

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

var x;               // Now x is undefined
var x = 5;           // Now x is a Number
var x = “John”;      // Now x is a String

Chuỗi JavaScript

Một chuỗi (hoặc một chuỗi văn bản) là một loạt các ký tự như “John Doe”. Chuỗi được viết với dấu ngoặc kép. Bạn có thể sử dụng dấu ngoặc kép đơn hoặc đôi:

var carName = “Volvo XC60”;   // Using double quotes
var carName = ‘Volvo XC60’;   // Using single quotes

Bạn có thể sử dụng dấu ngoặc kép bên trong một chuỗi, miễn là chúng không khớp với các dấu ngoặc kép bao quanh chuỗi:

var answer = “It’s alright”;             // Single quote inside double quotes
var answer = “He is called ‘Johnny'”;    // Single quotes inside double quotes
var answer = ‘He is called “Johnny”‘;    // Double quotes inside single quotes

Số trong JavaScript

JavaScript chỉ có một loại số. Số có thể được viết có hoặc không có số thập phân:

var x1 = 34.00;     // Written with decimals
var x2 = 34;        // Written without decimals

Số cực lớn hoặc cực nhỏ có thể được viết bằng ký hiệu khoa học (hàm mũ):

var y = 123e5;      // 12300000
var z = 123e-5;     // 0.00123

JavaScript Booleans

Booleans chỉ có thể có hai giá trị: true hoặc false.

var x = true;
var y = false;

Booleans thường được sử dụng trong kiểm tra có điều kiện.

Mảng JavaScript

Mảng JavaScript được viết bằng dấu ngoặc vuông. Các mảng được phân cách bằng dấu phẩy. Đoạn mã sau khai báo (tạo ra) mảng được gọi là cars, chứa ba mục (car names):

var cars = [“Saab”, “Volvo”, “BMW”];

Các chỉ mục mảng là zero-based, có nghĩa là mục đầu tiên là [0], thứ hai là [1] …

Các đối tượng JavaScript

Các đối tượng JavaScript được viết bằng dấu ngoặc nhọn. Thuộc tính đối tượng được viết dưới dạng cặp tên: giá trị, được phân tách bằng dấu phẩy.

var person = {firstName:”John”, lastName:”Doe”, age:50, eyeColor:”blue”};

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

Toán tử typeof

Bạn có thể sử dụng toán tử typeof của JavaScript để tìm loại biến JavaScript. Toán tử typeof trả về kiểu của một biến hoặc một biểu thức:

typeof “”                  // Returns “string”
typeof “John”              // Returns “string”
typeof “John Doe”          // Returns “string”

hay

typeof 0                   // Returns “number”
typeof 314                 // Returns “number”
typeof 3.14                // Returns “number”
typeof (3)                 // Returns “number”
typeof (3 + 4)             // Returns “number”

Dữ liệu nguyên hàm

Giá trị dữ liệu nguyên hàm là một giá trị dữ liệu duy nhất đơn giản mà không có thuộc tính và phương thức bổ sung. Toán tử typeof có thể trả về một trong các kiểu nguyên hàm này:

  • string
  • number
  • boolean
  • null
  • undefined

typeof “John”              // Returns “string”
typeof 3.14                // Returns “number”
typeof true                // Returns “boolean”
typeof false               // Returns “boolean”

Dữ liệu phức tạp

Toán tử typeof có thể trả về một trong hai loại phức tạp:

  • function
  • object

typeof [1,2,3,4]             // Returns “object” (not “array”, see note below)
typeof {name:’John’, age:34} // Returns “object”
typeof function myFunc(){}   // Returns “function”

Toán tử typeof trả về “đối tượng” cho các mảng vì trong các mảng JavaScript là các đối tượng.

Dữ liệu không xác định

Trong JavaScript, một biến mà không có giá trị, có giá trị undefined. Kiểu type cũng không xác định.

var person;                // Value is undefined, type is undefined

Bất kỳ biến nào có thể được gán rỗng, bằng cách đặt giá trị thành undefined. Loại này cũng sẽ được undefined.

person = undefined;        // Value is undefined, type is undefined

Dữ liệu giá trị rỗng

Một giá trị rỗng không liên quan gì đến giá trị không xác định. Một biến chuỗi rỗng có cả một giá trị và một kiểu.

var car = “”;              // The value is “”, the typeof is “string”

Dữ liệu vô giá trị

Trong JavaScript null là “không có gì”. Nó được cho là một cái gì đó không tồn tại. Kiểu dữ liệu của null là một đối tượng.

Bạn có thể xem xét nó một lỗi trong JavaScript rằng typeof null là một đối tượng. Nên không hợp lệ.

Bạn có thể bỏ một đối tượng bằng cách đặt nó là null:

var person = null;         // Value is null, but type is still an object

Bạn cũng có thể gán rỗng một đối tượng bằng cách đặt nó thành undefined:

var person = undefined;   // Value is undefined, type is undefined

Khác biệt giữa Undefined và Null

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