在JavaScript中,可以使用`typeof`運算符和`Array.isArray()`方法來判斷一個值是數組還是對象。
1. 使用`typeof`運算符:`typeof`運算符返回一個字符串,表示操作數的數據類型。當操作數是數組時,`typeof`運算符返回的是`"object"`,而當操作數是對象時,返回的也是`"object"`。因此,僅使用`typeof`運算符無法準確判斷一個值是數組還是對象。
var arr = [1, 2, 3];
var obj = {name: "John", age: 30};
console.log(typeof arr); // "object"
console.log(typeof obj); // "object"
2. 使用`Array.isArray()`方法:`Array.isArray()`方法用于檢測一個值是否為數組。該方法返回一個布爾值,如果值是數組,則返回`true`,否則返回`false`。
var arr = [1, 2, 3];
var obj = {name: "John", age: 30};
console.log(Array.isArray(arr)); // true
console.log(Array.isArray(obj)); // false
因此,如果要準確判斷一個值是數組還是對象,推薦使用`Array.isArray()`方法。