Size: a a a

JavaScript.Ninja

2021 February 04

IK

Illya Klymov in JavaScript.Ninja
При наличии состояния такого разделения не выйдет
источник

AI

Arthur Irgashev in JavaScript.Ninja
Illya Klymov
Вы сейчас говорите о классах без состояния
что мешает на уровне модуля сделать состояние ? Чаще всего на фронте не нужно его дублировать (держать несколько инстансов)

если нужно, то


function createStore() {
 return {
   add, update, delete
 }
}
источник

IK

Illya Klymov in JavaScript.Ninja
Arthur Irgashev
пример можно ?
Нельзя, я с телефона сейчас. Но речь идёт о банальном class property initiaiizers который позволяет отделить объявление значения поля по умолчанию от конструктора и о приватных методах позволяющих понять что в классе публично а что нет
источник

IK

Illya Klymov in JavaScript.Ninja
Arthur Irgashev
что мешает на уровне модуля сделать состояние ? Чаще всего на фронте не нужно его дублировать (держать несколько инстансов)

если нужно, то


function createStore() {
 return {
   add, update, delete
 }
}
Как вы в коде проверите что объект является стором и был создан вами?
источник

IK

Illya Klymov in JavaScript.Ninja
Я напишу instanceof
источник

IK

Illya Klymov in JavaScript.Ninja
Arthur Irgashev
что мешает на уровне модуля сделать состояние ? Чаще всего на фронте не нужно его дублировать (держать несколько инстансов)

если нужно, то


function createStore() {
 return {
   add, update, delete
 }
}
Мы же говорим о javascript а не о frontend
источник

AI

Arthur Irgashev in JavaScript.Ninja
пример нужен, а не абстрактное "как". на практике такое ну вообще ни разу не нужно было
источник

AI

Arthur Irgashev in JavaScript.Ninja
и всегда, когда видел классы - всегда решал ту же проблему, но проще. банальными ф-циями
источник

IK

Illya Klymov in JavaScript.Ninja
Критерии "проще"?
источник

PS

Plastic Sounds in JavaScript.Ninja
Arthur Irgashev
пример нужен, а не абстрактное "как". на практике такое ну вообще ни разу не нужно было
я думаю речь об этом примере
источник

AI

Arthur Irgashev in JavaScript.Ninja
Plastic Sounds
я думаю речь об этом примере
ну это абстрактное что-то, без реального юзкейса
источник

AI

Arthur Irgashev in JavaScript.Ninja
типа... ок, ф-ции конструкторы тоже можно через инстансоф проверять. но зачем ? Хотелось бы юзкейс встретить
источник

S

Sergei in JavaScript.Ninja
Коллеги, подскажите, есть ли более быстрый способ получить массивоподобный объект уникальных значение свойств объектов (age), из массива объектов (users), у которых это свойство (age) то ли есть, то ли нет, то ли null
let ages = new Set(Array.from(this.users, (u) => u.age));
ages.delete(null);
ages.delete(undefined);
источник

PS

Plastic Sounds in JavaScript.Ninja
Sergei
Коллеги, подскажите, есть ли более быстрый способ получить массивоподобный объект уникальных значение свойств объектов (age), из массива объектов (users), у которых это свойство (age) то ли есть, то ли нет, то ли null
let ages = new Set(Array.from(this.users, (u) => u.age));
ages.delete(null);
ages.delete(undefined);
forEach
источник

AI

Arthur Irgashev in JavaScript.Ninja
в том же тсе вообще можно делать

type Animal =
| { type: '1', ...props}
| {type: '2', ...props }

и делать матчинг по типу
источник

AI

Arthur Irgashev in JavaScript.Ninja
Sergei
Коллеги, подскажите, есть ли более быстрый способ получить массивоподобный объект уникальных значение свойств объектов (age), из массива объектов (users), у которых это свойство (age) то ли есть, то ли нет, то ли null
let ages = new Set(Array.from(this.users, (u) => u.age));
ages.delete(null);
ages.delete(undefined);
быстрее, чем за O(n) не сделаешь, если изначально хранить в массиве
источник

IK

Illya Klymov in JavaScript.Ninja
Arthur Irgashev
в том же тсе вообще можно делать

type Animal =
| { type: '1', ...props}
| {type: '2', ...props }

и делать матчинг по типу
Тс это отдельный эталон слабости системы типов :)

Потом я в объект типа animal положу ответ сервера или json.parse - какого из двух типов он будет? :)
источник

AI

Arthur Irgashev in JavaScript.Ninja
Illya Klymov
Тс это отдельный эталон слабости системы типов :)

Потом я в объект типа animal положу ответ сервера или json.parse - какого из двух типов он будет? :)
так вот не нужно туда ничего такого ложить (класть :)) :)
источник

Ж

Жаргал in JavaScript.Ninja
Arthur Irgashev
так вот не нужно туда ничего такого ложить (класть :)) :)
Вам нет. Илье — да.
источник

AI

Arthur Irgashev in JavaScript.Ninja
Жаргал
Вам нет. Илье — да.
ну, хз, для меня вообще дико работать с данными из внешнего мира без предварительной обработки
источник