Показать сообщение отдельно
  #1 (permalink)  
Старый 31.05.2016, 19:51
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Проверка на Object
Как лучше всего проверить переменную на "чистый" Object?

typeof variable == 'object' выдаст на любом объекте/прототипе и т.д.
variable instanceof Object также как и выше, но ещё и на ф-ции.

Как лучше всего проверить объект именно на "чистый" Object?

Т.е. только на такие:

var obj = {};
var obj2 = new Object;


Звучит, наверное, бредово. Мне это нужно для строгой типизации, чтобы не могли в метод передать левый объект с "чужого" прототипа и т.д.

Вот такие решения появились в голове:

variable instanceof Object && variable.__proto__.__proto__ == null

//или

variable instanceof Object && variable.__proto__.constructor == Object

Последний раз редактировалось ruslan_mart, 31.05.2016 в 19:53.
Ответить с цитированием