При использованииПравильный способ обнаружения абстрактных объектов/ссылочных типов?
$P.isObjectAbstract = function (obj) {
return obj === Object(obj);
};
я получаю ошибку JSLint:
line 77 character 31 Use the object literal notation {} or Object.create(null).
Однако эта форма (ниже) производит различные результаты.
$P.isObjectAbstractZ = function (obj) {
return obj === Object.create(obj);
};
Я использую термин objectAbstract дифференцировать от objectLiteral, который был бы из нравов простой формы var object_literal = {}
.
ObjectAbstract - это что-то с ключами, к которым можно получить доступ как таковой localStorage.some_key
(точнее, это магический объект-хост).
Есть ли подходящий способ jslint для тестирования абстрактных объектов?
Не хотите ли вы возвращать obj === Object.create (obj); '? JSLint говорит 'Object.create (null)', потому что он ссылается на создание пустого объекта. – Ian
О, ха-ха, я думал, что поймал проблему :) – Ian
... но лучший вопрос мог быть, есть ли разница между «Object (obj)» и «Object.create (obj)» –