Ответ зависит от двигателя JS, определенно. Что касается V8, скорость проверки зависит от количества объектов (== «Установить» количество свойств объекта), но она все равно O (1). В противном случае ни одно значительное веб-приложение не будет работать достаточно быстро.
Относительно вопроса SO, на который вы ссылаетесь, НЕ используйте if ("foo" in A)
, чтобы проверить наличие элемента, если это возможно - это обойдет всю цепочку прототипов, так что вы получите влияние на производительность и, скорее всего, найдете много объектов, которые должны не быть там (как toString
). Используйте A.hasOwnProperty("foo")
всякий раз, когда это возможно.