FrontEnd. All.
Контакты
Местоположение
Россия, Республика Крым, Красногвардейское

Достижения

Все достижения (8)

Наибольший вклад в теги

Все теги (89)

Лучшие ответы пользователя

Все ответы (649)
  • Почему говорят, что Javascript сделан на коленке?

    KorniloFF
    @KorniloFF Куратор тега JavaScript
    Работаю по font-end / JS
    Потому, что его фактически создали за 2 недели. Но разработчик был, мягко выражаясь, гением, потому до сих пор никакой реальной альтернативы ему на фронт-энде нет.
    Соответственно, актуальности такое заявление иметь не может.
    А некоторым JS вполне себе нравится. Как по мне - излишества пошли в его поздних версиях, начиная с ES-6.

    Источник:
    Простите, времени было мало для того, чтобы сделать правильную оптимизацию хвостовой рекурсии. 10 дней почти без сна, чтобы сделать JS с чистого листа, заставить его «выглядеть как Java» (я сделал, чтобы он выглядел как C), и тайком протащить туда его спасительные фишки: first class functions (замыкания сделал позже, но они были частью плана сразу) и прототипы (примерно как в языке Self).

    https://habr.com/ru/post/106274/
    Ответ написан
    2 комментария
  • Не мэтчится регулярное выражение?

    KorniloFF
    @KorniloFF Куратор тега JavaScript
    Работаю по font-end / JS
    А если изменить сам подход? Зачем парсить JSON регулярками?
    https://codepen.io/KorniloFF/pen/vbaLdM?editors=1011
    Ответ написан
    5 комментариев
  • Когда использовать классы, а когда функции?

    KorniloFF
    @KorniloFF Куратор тега JavaScript
    Работаю по font-end / JS
    Согласен с Ларисой, но немного дополню.
    Классы, собственно, введены для любителей ООП, и действительно - только эмулируют в JS классическое ООП.
    Нужны они для того, чтобы инкапсуллировать части кода, иметь возможности классового наследования и проч. Но нужно не забывать, что в JS используется наследование на прототипах и никакого другого в нем нет.
    Если понять вышесказанное, то от классов в JS лучше отказаться, и использовать встроенные инструменты. Сразу скажу единственный минус, который я не смог чисто обойти - отсутствие множественного наследования.

    Итак, инкапсулляцию лучше всего делать, размещая все функции отдельного блока кода не в классе, а в качестве методов объекта.
    var obj1= {
    prop1: value,
    met1: function(arguments) {
    body
    }
    // etc
    }


    При таком подходе мы имеем в глобальном скопе лишь одну переменную, но можем вполне использовать весь ее потенциал, как:
    obj1.met1();
    И зачем нам нужны классы при таком подходе?
    Если нам нужно унаследовать от другого объекта, самым простым способом будет разместить ссылку на родительский объект в свойстве __proto__ наследника.
    var parent= {...};
    var child= {
    __proto__: parent,
    .....
    }
    Ответ написан
    Комментировать
  • Если есть в массиве слово как вывести true?

    KorniloFF
    @KorniloFF
    Работаю по font-end / JS
    return in_array('sunglasses', $arr)? true : false;

    Или, менее очевидно:
    return in_array('sunglasses', $arr);
    Ответ написан
    Комментировать
  • Как пересчитать среднее арифметическое?

    KorniloFF
    @KorniloFF
    Работаю по font-end / JS
    s - сумма проголосовавших очков
    q - количество проголосовавших
    n - новый голос (очки)


    Ср. ар. = (s+n) / (q+1)
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (23)