typeof của JavaScript
- Trang trước Phương pháp Map JS
- Trang tiếp theo Chuyển đổi loại JS
typeof của JavaScript
Trong JavaScript có 5 loại dữ liệu có thể chứa giá trị:
string
number
boolean
object
function
Có 6 loại đối tượng:
Object
Date
Array
String
Number
Boolean
và 2 loại dữ liệu không thể chứa giá trị:
null
undefined
toán tử typeof
Bạn có thể sử dụng typeof
các toán tử để xác định loại dữ liệu của biến JavaScript.
Mẫu
typeof "Bill" // Trả về "string" typeof 3.14 // Trả về "number" typeof NaN // Trả về "number" typeof false // Trả về "boolean" typeof [1,2,3,4] // Trả về "object" typeof {name:'Bill', age:19} // Trả về "object" typeof new Date() // Trả về "object" typeof function () {} // Trả về "function" typeof myCar // Trả về "undefined" * typeof null // Trả về "object"
Lưu ý rằng:
- Kiểu dữ liệu của NaN là số
- Kiểu dữ liệu của mảng là đối tượng
- Kiểu dữ liệu của ngày tháng là đối tượng
- Kiểu dữ liệu của null là object
- Kiểu dữ liệu của biến chưa được định nghĩa là undefined *
- Kiểu dữ liệu của biến chưa được gán giá trị cũng là undefined *
Bạn không thể sử dụng typeof
để xác định đối tượng JavaScript có phải là mảng (hoặc ngày tháng) hay không.
Ngày 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 phụ thuộc.
typeof
operators có thể trả về một trong các loại dữ liệu nguyên thủy sau:
string
number
boolean
undefined
Mẫu
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
Toán tử có thể trả về một trong hai loại dữ liệu phức tạp sau:
function
object
typeof
Toán tử sẽ trả về "object" cho đối tượng, mảng và null.
typeof
Toán tử sẽ không trả về "object" cho hàm.
Mẫu
typeof {name:'Bill', age:19} // Trả về "object" typeof [1,2,3,4] // Trả về "object"(không phải "mảng",xin hãy chú ý đến ví dụ dưới đây) typeof null // Trả về "object" typeof function myFunc(){} // Trả về "function"
typeof
Toán tử sẽ trả về "object" cho mảng. "object"
vì trong JavaScript, mảng là đối tượng.
Loại dữ liệu của toán tử typeof
typeof
Toán tử không phải là biến. Nó chỉ là một toán tử. Toán tử (+ - * /) không có loại dữ liệu nào.
Nhưng,typeof
Toán tử luônTrả về chuỗi(bao gồm loại của operand)。
Thuộc tính constructor
constructor
Thuộc tính trả về hàm cấu tạo của tất cả các biến JavaScript.
Mẫu
"Bill".constructor // Trả về function String() {[mã hóa tự nhiên]} (3.14).constructor // Trả về function Number() {[mã hóa tự nhiên]} false.constructor // Trả về function Boolean() {[mã hóa tự nhiên]} [1,2,3,4].constructor // Trả về function Array() {[native code]} {name:'Bill',age:19}.constructor // Trả về function Object() {[native code]} new Date().constructor // Trả về function Date() {[native code]} function () {}.constructor // Trả về function Function(){[native code]}
Bạn có thể kiểm tra thuộc tính constructor để xác định đối tượng có phải là mảng (bao gồm "Array"
từ khóa):
Mẫu
function isArray(myArray) { return myArray.constructor.toString().indexOf("Array") > -1; }
hoặc đơn giản hơn, bạn có thể kiểm tra đối tượng có phải làChức năng mảng:
Mẫu
function isArray(myArray) { return myArray.constructor === Array; }
Bạn có thể kiểm tra thuộc tính constructor để xác định đối tượng có phải là ngày tháng (bao gồm "Date"
từ khóa):
Mẫu
function isDate(myDate) { return myDate.constructor.toString().indexOf("Date") > -1; }
hoặc đơn giản hơn, bạn có thể kiểm tra đối tượng có phải làChức năng ngày tháng:
Mẫu
function isDate(myDate) { return myDate.constructor === Date; }
Undefined
Trong JavaScript, giá trị của biến không có giá trị là undefined
. Loại cũng là undefined
。
Mẫu
let car; // Giá trị là undefined, loại cũng là undefined.
Bằng cách đặt giá trị của nó là undefined
cũng có thể làm trống bất kỳ biến nào. Loại cũng sẽ là undefined
。
Mẫu
car = undefined; // Giá trị là undefined, loại cũng là undefined.
Giá trị rỗng
Giá trị rỗng với undefined
Không liên quan.
Chuỗi rỗng có giá trị hợp lệ và loại.
Mẫu
let car = ""; // Giá trị là "", loại là "string"
Null
Trong JavaScript null
là “không có”. Nó nên là thứ không có.
Thật không may, trong JavaScriptnull
Loại dữ liệu của .data là một đối tượng.
Bạn có thể xem nó là một lỗi trong JavaScript.typeof null
Là một đối tượng. Loại nên là null
。
Bạn có thể đặt đối tượng thành null
Để xóa đối tượng:
Mẫu
let person = {firstName:"Bill", lastName:"Gates", age:19, eyeColor:"blue"}; person = null; // Hiện tại giá trị là null nhưng loại vẫn là đối tượng
Bạn cũng có thể đặt đối tượng thành undefined
Để xóa đối tượng:
Mẫu
let person = {firstName:"Bill", lastName:"Gates", age:19, eyeColor:"blue"}; person = undefined; // Hiện tại giá trị và loại đều là undefined
Sự khác nhau giữa undefined và null
undefined
và null
Giá trị bằng nhau nhưng loại khác nhau:
typeof undefined // undefined typeof null // object null === undefined // false null == undefined // true
- Trang trước Phương pháp Map JS
- Trang tiếp theo Chuyển đổi loại JS