typeof ของ JavaScript
- หน้าก่อน วิธีการ Map JS
- หน้าต่อไป การเปลี่ยนรูปแบบ JS
typeof ของ JavaScript
在 JavaScript 中有 5 种不同的可以包含值的数据类型:
string
number
boolean
object
function
有 6 种类型的对象:
Object
Date
Array
String
Number
Boolean
以及 2 种不能包含值的数据类型:
null
undefined
typeof 运算符
您可以使用 typeof
运算符来确定 JavaScript 变量的数据类型。
ตัวอย่าง
typeof "Bill" // 返回 "string" typeof 3.14 // 返回 "number" typeof NaN // 返回 "number" typeof false // 返回 "boolean" typeof [1,2,3,4] // 返回 "object" typeof {name:'Bill', age:19} // 返回 "object" typeof new Date() // 返回 "object" typeof function () {} // 返回 "function" typeof myCar // 返回 "undefined" * typeof null // 返回 "object"
请注意:
- NaN 的数据类型是数字
- 数组的数据类型是对象
- 日期的数据类型是对象
- null 的数据类型是 object
- 未定义变量的数据类型为 undefined *
- 未赋值的变量的数据类型也是 undefined *
您无法使用 typeof
来确定 JavaScript 对象是否是数组(或日期)。
วันที่ตัวเดิม
ข้อมูลตัวเดิมหมายถึงค่าข้อมูลที่เป็นค่าที่เรียบง่ายโดยไม่มีคุณสมบัติและวิธีที่เพิ่มเติม。
typeof
ตัวประกาศสามารถคืนค่าประเภทข้อมูลตัวเดิมหนึ่งในรายการต่อไปนี้:
string
number
boolean
undefined
ตัวอย่าง
typeof "Bill" // สร้าง "string" typeof 3.14 // สร้าง "number" typeof true // สร้าง "boolean" typeof false // สร้าง "boolean" typeof x // สร้าง "undefined" (if x has no value)
复杂数据
typeof
运算符可以返回两种复杂类型之一:
function
object
typeof
运算符会为对象、数组和 null 返回 "object"。
typeof
运算符不会为函数返回 "object"。
ตัวอย่าง
typeof {name:'Bill', age:19} // สร้าง "object" typeof [1,2,3,4] // สร้าง "object"(非 "array",请注意下面的例子) typeof null // สร้าง "object" typeof function myFunc(){} // สร้าง "function"
typeof
运算符会为数组返回 "object"
,因为在 JavaScript 中数组是对象。
typeof 的数据类型
typeof
运算符并不是变量。它只是一个运算符。运算符 (+ - * /) 没有任何数据类型。
但是,typeof
运算符总是返回字符串(包含操作数的类型)。
constructor 属性
constructor
属性返回所有 JavaScript 变量的构造函数。
ตัวอย่าง
"Bill".constructor // สร้าง function String() {[native code]} (3.14).constructor // สร้าง function Number() {[native code]} false.constructor // สร้าง function Boolean() {[native code]} [1,2,3,4].constructor // กลับค่า function Array() {[native code]} {name:'Bill',age:19}.constructor // กลับค่า function Object() {[native code]} new Date().constructor // กลับค่า function Date() {[native code]} function () {}.constructor // กลับค่า function Function(){[native code]}
คุณสามารถตรวจสอบค่า constructor ในวัตถุเพื่อตรวจสอบว่าวัตถุเป็นแถว (รวมถึง "Array"
คำว่า:
ตัวอย่าง
function isArray(myArray) { return myArray.constructor.toString().indexOf("Array") > -1; }
หรือง่ายขึ้น คุณสามารถตรวจสอบว่าวัตถุเป็นฟังก์ชันแถว:
ตัวอย่าง
function isArray(myArray) { return myArray.constructor === Array; }
คุณสามารถตรวจสอบค่า constructor ในวัตถุเพื่อตรวจสอบว่าวัตถุเป็นวันที่ (รวมถึง "Date"
คำว่า:
ตัวอย่าง
function isDate(myDate) { return myDate.constructor.toString().indexOf("Date") > -1; }
หรือง่ายขึ้น คุณสามารถตรวจสอบว่าวัตถุเป็นฟังก์ชันวันที่:
ตัวอย่าง
function isDate(myDate) { return myDate.constructor === Date; }
undefined
ใน JavaScript ตัวแปรที่ไม่มีค่ามีค่าคือ undefined
ประเภทก็เป็น undefined
。
ตัวอย่าง
let car; // ค่าคือ undefined ประเภทก็เป็น undefined
โดยการตั้งค่าค่าของมันเป็น undefined
สามารถทำให้ตัวแปรว่างได้ undefined
。
ตัวอย่าง
car = undefined; // ค่าคือ undefined ประเภทก็เป็น undefined
ค่าว่าง
ค่าว่างกับ undefined
ไม่เกี่ยวข้อง
ข้อความว่างเปล่ามีค่าที่ถูกต้องและประเภท
ตัวอย่าง
let car = ""; // ค่าคือ "", ประเภทคือ "string"
null
ใน JavaScript null
คือ "null" มันควรเป็นสิ่งที่ไม่มีอยู่
แต่เมื่อใช้ JavaScriptnull
ข้อมูลประเภทของ . คือองค์ประกอบ
คุณสามารถคิดว่ามันเป็น bug หนึ่งของ JavaScripttypeof null
มันเป็นวัตถุ null
。
คุณสามารถกำหนดว่า null
เพื่อที่จะเคลี่ยนแปลงตัวแปรเป็นว่าง
ตัวอย่าง
let person = {firstName:"Bill", lastName:"Gates", age:19, eyeColor:"blue"}; person = null; // ความเป็นค่าของมันตอนนี้คือ null แต่ชนิดยังคงเป็นวัตถุ
คุณยังสามารถทำได้โดยการกำหนดว่า undefined
เพื่อที่จะเคลี่ยนแปลงตัวแปรเป็นว่าง
ตัวอย่าง
let person = {firstName:"Bill", lastName:"Gates", age:19, eyeColor:"blue"}; person = undefined; // ความเป็นค่าและชนิดของมันตอนนี้คือ undefined
ความแตกต่างระหว่าง undefined และ null
undefined
และ null
ค่าเท่ากันแต่ชนิดต่างกัน:
typeof undefined // undefined typeof null // object null === undefined // false null == undefined // true
- หน้าก่อน วิธีการ Map JS
- หน้าต่อไป การเปลี่ยนรูปแบบ JS