LINUX.ORG.RU

Ответ на: комментарий от firkax

Если isEmpty в объекте переопределён значит так надо. Если isEmpty в объекте переопределён значит так надо.

кому надо, чудаку от кодинга? если его портянка загрузится до другого кода в котором другой террорист или стандарт определил такой же метод, кому будет больше надо?

Syncro ★★★★★
()
Ответ на: комментарий от Nervous

модуль это модуль, файл это файл, класс это класс, функция это функция. Использовать что-то одно вместо другого - фмг или чудачество

Какое состояние, у тебя там класс, набитый статическими методами, которые не имеют доступа к экземплярам класса,

статическое, чтобы не наворачивать лисапедов или не использовать один глобалthis для всего

Syncro ★★★★★
()

в модулях es сделали изоляцию локальных контекстов, что должно уже намекать, что лазить в глобал, тем более в определения браузерных классов это не правильно

Syncro ★★★★★
()
Ответ на: комментарий от Syncro

Суть js именно в том что можно подменить поведение объекта, переопределив ему хоть вообще всё. Если подменили - значит так было надо, а ты своими статическими методами всё портишь. Придётся подменять не в объекте, а писать костыль к твоему статическому методу типа такого:

{
  let x = ArrayUtils.isEmpty;
  ArrayUtils.isEmpty = function (xx) {
    if(xx instanceOf patchedArray) { изменённая логика }
    else return x(xx);
  }
}

А может и instanceOf не получится обоётись и придётся ещё хуже костыли городить. А ведь можно быть бы просто подменить isEmpty в том месте где это нужно, если б не твоё желание мешать патчингу.

firkax ★★★★★
()
Ответ на: комментарий от firkax

придется еще нахлобучивать присваивание в глобалзис из ес6 модуля

Syncro ★★★★★
()
Ответ на: комментарий от moonmadness

Не будет.

Да, забыл что строковый ключ нужен. Вот так:

let fruits = [];
fruits["a"] = "apple";
console.log(fruits.length); // 0
Obezyan
()
Ответ на: комментарий от Syncro

модуль это модуль, файл это файл, класс это класс, функция это функция.

Да, капитан!

Использовать что-то одно вместо другого - фмг или чудачество

Ну ты же зачем-то используешь класс вместо модуля (причём внутри модуля) там, где достаточно просто модуля.

использовать один глобалthis для всего

Какой ещё globalThis, импортируешь функцию isEmpty из модуля и вызываешь её. В реализации функции тоже никакой globalThis не нужен.

Nervous ★★★★★
()
Последнее исправление: Nervous (всего исправлений: 3)
Ответ на: комментарий от theNamelessOne

42069 instanceof Empty <- true

Пустое, сударь, всё пустое %)

Nervous ★★★★★
()
Ответ на: комментарий от damix9

Bad practice, типа, изобретение собсвенного диалекта, нах не нужного никому кроме тебя. Обычно этим страдают набигаторы с других языков, которые «всё как раньше» хотят. Некоторые дострадались аж до https://sugarjs.com/ (не советую).

Vit ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.