Показать сообщение отдельно
  #1 (permalink)  
Старый 17.03.2020, 19:32
Аспирант
Отправить личное сообщение для korih Посмотреть профиль Найти все сообщения от korih
 
Регистрация: 02.06.2016
Сообщений: 36

добавить в цепочку прототипов объекта {} функцию
Добрый вечер всем.
возник у меня глупый вопрос который ни как не могу реализовать.
как добавить глобально в цепочку прототипов объектов конкретно {}, что бы к примеру был результат при:
const obj = {a:1}
console.log(obj)
//{a:1} -> __proto__ -> myProtoFunction: f()

const arr = [1,2,3]
console.log(arr)
//[1,2,3] -> ... -> в цепочке прототипов myProtoFunction() не имеется

//и так с остальными конструкциями


я пытался сделать следующим образом:
Object.defineProperty(Object.prototype, 'isObject', {
  value: function() {
      if(!Boolean(this instanceof Array) && typeof this === 'object' && this !== null && this !== undefined){
        return true
      }else{
        return false
      }
  },
  enumerable: false
});


но проблема в том, что все в js это объекты, и если вызвать массив, то в цепочке прототипов окажется моя функция 'isObject'.

надеюсь объяснил корректно, хотелось бы услышать какие-нибудь варианты и решения данной задачи. Заранее спасибо

Последний раз редактировалось korih, 17.03.2020 в 19:47.
Ответить с цитированием