Публикации по теме 'prototypal-inheritance'


Модульный шаблон построения классов JavaScript
Недостатки классического наследования Классическое наследование часто используется в JavaScript для создания классов прототипом. Вы создаете объект, а затем добавляете к нему свойства и функции. Затем вы хотите создать второй объект, который наследует свойства и функции первого объекта. Хотя можно использовать классическое наследование для создания этого второго объекта, вы должны знать детали реализации, чтобы правильно наследовать от него, чтобы не переопределять свойства в цепочке...

Прототипы и прототипное наследование в JavaScript.
Привет, ниндзя, как у вас дела? Итак, сегодня давайте рассмотрим одну из фантастических концепций JavaScript. Угадай, что …. хм, громче ... да, именно так, Прототип наследования. Прежде чем углубиться в наследование , давайте добавим свет на Object и Prototype . Так что же такое объект ? Объект - это набор свойств, к которому прикреплен один объект Prototype. Давайте посмотрим на следующий фрагмент, чтобы увидеть, как он был создан. const car = { color:..

Вопросы по теме 'prototypal-inheritance'

Зачем использовать наследование стиля ООП на основе классов в javascript?
Если я не совсем ошибаюсь, каждый фреймворк/библиотека/подход в javascript сегодня имеет тенденцию имитировать наследование стиля ООП на основе классов. Причины этого, по-видимому, заключаются в том, что люди думают, что наследование ООП на основе...
2444 просмотров

Выполнение наследования в JavaScript
Теперь, хотя я знаю, что вы не можете выполнять наследование, как в C#, я видел в Интернете упоминания о том, что это возможно. Если это невозможно с использованием простого кода JavaScript, то можно ли использовать Ext JS , и если да, то как?
13837 просмотров

Почему JavaScript был реализован с использованием прототипного наследования?
Существует множество статей и сообщений, объясняющих, как работает наследование JavaScript, но почему JavaScript был реализован с использованием прототипного наследования вместо классического наследования? Я люблю JavaScript, поэтому не говорю, что...
1084 просмотров

Как получить доступ к прототипу объекта в javascript?
Во всех статьях написано, что JavaScript — это язык, основанный на прототипах, то есть каждый объект имеет прототип (точнее, цепочку прототипов). До сих пор я пробовал следующий фрагмент кода: var F = function(); F.prototype.member1 = 1; var...
76559 просмотров

Object.create Цепочки прототипов
Начальный вопрос Вчера я прочитал о ECMAScript 5 Object.create(), и я хотел начать создавать цепочки прототипов в своем коде с помощью этого метода вместо установки прототипа и его конструктора, мне нравится, что вы можете напрямую устанавливать...
1353 просмотров

Создание новых объектов из замороженных родительских объектов
Этот пример создает объект, замораживает его, а затем создает новый объект из замороженного объекта. Если второй объект попытается изменить тестовое свойство, он не сможет. Он остается замороженным со значением первого объекта 10. //Create an...
5762 просмотров

Расширение прототипа Javascript Arrays с помощью Max/Min для поиска значений
Глядя на различные методы поиска максимальных/минимальных значений в массиве Javascript, я часто вижу расширяющийся прототип самого объекта массива. Итак, имея: var a=[22,33,44,32,1]; Array.max=function(v) { return Math.max.apply(this,v);...
404 просмотров

Цепочка прототипов в Javascript не обновляется
Я пытаюсь понять прототипное наследование в Javascript, но не могу применить его к следующему случаю. Любая помощь будет оценена по достоинству. Я определяю конструктор следующим образом: var base = function() { var priv = "private"; //...
87 просмотров
schedule 22.12.2023

Где определено свойство `prototype`
Ну, я все время предполагал, что свойство прототипа существует у всех объектов. Но после одного из собеседований я пришел домой и открыл хромированную консоль. window.prototype **undefined** ВТФ? Object.prototype **Object {}** OK...
110 просмотров

Возможная ошибка в объяснении MDN свойства __proto__?
Итак, работая над дальнейшим укреплением своего понимания объектно-ориентированного JavaScript, я жадно читал, а затем тестировал то, чего не понимал. Я читал статью Mozilla Developer Network (MDN) под названием «Object.prototype. proto » по адресу:...
129 просмотров

Объект удаляется или частично сворачивается при компиляции в расширенном режиме — Google Closure Compiler
Я использую angular с Closure, и у меня возникают проблемы с аннотацией @export. В частности, возможность экспортировать определения свойств. Я думал, что у меня что-то работает со следующим кодом, но он кажется очень темпераментным. /** *...
115 просмотров

Как JavaScript поддерживает ссылку на прототип?
Глядя на ответ на ( Как работает цепочка прототипов? ), я могу видим, что существует цепочка наследования. Что происходит за кулисами? Насколько я могу судить, в свойстве прототипа хранится ссылка на объект-прототип? Почему этот объект не...
75 просмотров

Доступ к полю ввода из контроллера Angular приводит к неопределенному
Итак, у меня есть окно поиска, в которое я ввожу текст, а затем отправляю, это должно отправить данные на мой контроллер Angular и позволить мне получить к нему доступ, однако при этом я просто получаю неопределенность. Проблема возникает при...
562 просмотров

Реализация наследования JavaScript Джона Резига: зачем «инициализировать»?
Я изучаю реализации Джона Резига OOO в JavaScript . Код выглядит так: (function(){ var initializing = false, fnTest = /xyz/.test(function(){xyz;}) ? /\b_super\b/ : /.*/; this.Class = function(){}; Class.extend = function(prop) {...
159 просмотров

Js не может видеть функцию прототипа, хотя она видна в Dev Tools
Таким образом, проблему можно увидеть на картинке ниже. Я добавил функции в прототип через for (var i in memberFunctions) { classFun.prototype[i] = memberFunctions[i]; } который выполняется перед вызовом функции. Что меня больше всего...
20 просмотров

Uncaught TypeError: невозможно установить свойство getName из неопределенного (анонимная функция)
<script> var Employee = new function(name) { this.name=name; } Employee.prototype.getName = function() { return this.name; } var PermanenetEmployee = new function(annualsalary) {...
1185 просмотров

Как создать объект JS с прототипом по умолчанию из объекта без прототипа?
Предыстория: модуль query-string , например, может разобрать key=value&hello=universe на объект {key: 'value', hello: 'universe'} . Однако автор модуля решил, что возвращаемый объект не имеет прототипа. Другими словами, этот "ублюдочный"...
131 просмотров

Передача метода объекта в качестве параметра в JavaScript
Я пишу модульные тесты JavaScript для коллекций Mongo. У меня есть массив коллекций, и я хотел бы создать массив элементов для этих коллекций. В частности, меня интересует использование Array.prototype.map . Я ожидаю, что что-то вроде этого...
143 просмотров

Существуют ли эффективные способы использования `__proto__` или `setPrototypeOf()` в javascript?
У MDN есть огромное страшное предупреждение об изменении прототипа в вашем коде: Изменение [[Prototype]] объекта в силу того, как современные движки JavaScript оптимизируют доступ к свойствам, является очень медленной операцией в каждом...
597 просмотров

Почему свойства объекта XMLHttpRequest доступны для печати только через console.log()?
var obj = new XMLHttpRequest(); console.log("Object.keys():",Object.keys(obj)); console.log("Object.getOwnPropertyNames():",Object.getOwnPropertyNames(obj)) console.log("Object.entries():",Object.entries(obj))...
536 просмотров