Как проверить является ли переменная объектом js
Ответы
Ivan Gagarinov
29 июня 2022
Самый простой способ проверить, что переменная является объектом, это проверить тип переменной с помощью typeof
. Для объектов эта инструкция вернёт строку 'object'
.
Например:
// Создаём переменную
const user = { name: 'Ivan' };
// Проверяем является ли переменная объектом
if (typeof user === 'object') {
console.log('is object');
}
Стоит учитывать, что для null
значение будет тоже 'object'
, так как в системе типов JS null
является объектом.
console.log(typeof null); // => object
3
1
Aleksey
05 апреля 2023
Еще пара способов:
- Использование метода Object.prototype.toString():
const obj = { a: 1, b: 2 };
if (Object.prototype.toString.call(obj) === '[object Object]') {
console.log('Это объект');
}
- Использование оператора instanceof:
const obj = { a: 1, b: 2 };
if (obj instanceof Object) {
console.log('Это объект');
}
2
1
Дмитрий Чувиковский
14 ноября 2024
В javascript оператор typeof возвращает 'object' не только для классических объектов {}, но и для массивов и null:
[null, [], {}].map(value => typeof value)
[ 'object', 'object', 'object' ]
Поэтому, скажем так, "классический" способ проверки, что перед вами точно объект, а не массив или null такой:
typeof x === 'object' && !Array.isArray(x) && x !== null
Во всяком случае, это код набрал наибольшее количество звезд на stackoverflow.
0
0