Size: a a a

JavaScript Noobs — сообщество новичков

2021 July 12

cz

crazy z in JavaScript Noobs — сообщество новичков
Фишка ООП в том, что человек уже думает классами! Поднимаем голову к небу и видим "Птица летит", другими словами "У объекта "Птица" был вызван метод "Лететь"", но мы так сложно не думаем и для нас это просто "Летящая птица".
Вспомните детство и моменты когда родители посылали за хлебом. Как это происходило? Возможно это было так: "Объект сын в твое поле ложу объект "Задача" с полями "хлеб", "комод" и "100 рублей", в поле "результат" ложу "Хлеб". Объект сын вызываю метод "Купить"". Не думаю что это было так, мне кажется это было так: "Сын возьми 100 рублей и купи хлеба". В неявном виде обратились к объекту "Сын", вызвали метод "Взять" и передали аргумент "100 рублей" и ожидаем результат вызова в виде значения "Хлеб".

Попробуйте процедурный подход переложить в нашу естественную жизнь? ;) Попробуйте так общаться, процедурно. Это очень сложно. Потому что человек привык думать объектами! Самолет, кошка, лошадь, дерево и др. Для нас вроде есть концепция "кошка", но конкретная кошка "Масяня" сильно отличается от другой конкретной кошки "Машка".

Изучая задачу мы прежде всего должны задать вопрос : "Что является условием завершения задачи?" и вторым не менее важным "Что используется при достижении результата?". Вот это "что используется" как правило и есть объекты.
источник

AN

Alexander Naumov in JavaScript Noobs — сообщество новичков
угу, спс, примерно так и  посчиталось, просто сначала n уменьшалось, до выхода из рекурсии, а потом уже все вычисления прошли.. все равно пока сложно представить, как на практике таким пользоваться.. пробовал по многомерным массивам проходить, но там как-то проще для восприятия было
источник

JT

John Travolta in JavaScript Noobs — сообщество новичков
При одном типе задач нужно - создать сущность и наделить определенными параметрами
Например, делаешь игру, надо создать персонажа и дать ему силы 4, скорости 8, выносливости 9
Создать второго персонажа и дать ему силы 8, скорости 2, выносливости 3
Такие вещи с помощью функций не сделаешь
Но в джиэсе есть воркэраунд в виде функции-конструктора
В остальном ООП не нужен и даже вреден, т.к. производительность классов ниже, абстракций больше, бойлерплейта несравнимо больше
источник

АД

Алексей Двоще... in JavaScript Noobs — сообщество новичков
В классическом ооп
источник

АД

Алексей Двоще... in JavaScript Noobs — сообщество новичков
Можно один класс приводить к другому
источник

АД

Алексей Двоще... in JavaScript Noobs — сообщество новичков
К родительскому или дочернему
источник

АД

Алексей Двоще... in JavaScript Noobs — сообщество новичков
Точнее объект класса
источник

АД

Алексей Двоще... in JavaScript Noobs — сообщество новичков
Ставить на переменную объекта другой объект, реализующий определенный интерфейс или какой нить класс или абстрактный класс, в общем удобно для расширения
источник

АД

Алексей Двоще... in JavaScript Noobs — сообщество новичков
Переопределять все методы и обычные и виртуальные, скрывать от других классов или людей реализации, что бы люди вызывали нужный им метод но не знали что под капотом
источник

АД

Алексей Двоще... in JavaScript Noobs — сообщество новичков
Ну, ооп и классы это спорное утверждение, но в классическом современном представление да
источник

AS

Aleksandr Sarkisov in JavaScript Noobs — сообщество новичков
Что за инпут параметр? А в примере происходит деструктуризация
источник

M

MCRoFF in JavaScript Noobs — сообщество новичков
Чувак ты топ!!!
источник

A

Antony in JavaScript Noobs — сообщество новичков
добрый день. подскажите, есть массив [{name:'lol', f:9}, {name:'lol',k:0}, {name:'bob', l:12}]

нужно отфильтровать по совпадению по name
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
оставить те, у кого нейм совпадает или как?
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
а совпадает с чем, собственно?
источник

A

Antony in JavaScript Noobs — сообщество новичков
удалить те у которых  name  одинаковые
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
типа, оставить просто по одному или вообще удалить?
источник

A

Antony in JavaScript Noobs — сообщество новичков
оставить по одному
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
const names = new Set();
const uniqueUsers = users.filter(({name}) => {
 if (names.has(name)) {
   return false;
 }
 names.add(name);
 return true;
});
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
ну или форичем просто новый собрать, хз даже, как лучше будет, я ещё не проснулся
источник