1. JavaScript / Говнокод #25896

    0

    1. 1
    2. 2
    3. 3
    onItemClicked(item: any) {
      this.onItemClick.emit({ item: item.item });
    }

    Ехал айтем через айтем
    Видит айтем, айтем кликд
    Сунул айтем айтем в айтем
    Зис он айтем клик эмит

    Запостил: Zetway, 03 Октября 2019

    Комментарии (21) RSS

    • Где здесь "JavaScript", Zetway?!
      Ответить
      • А что не так?
        Ответить
        • очевидно, указание типов а-ля тайпскрп
          Ответить
          • Вдруг он просто его flowjs намазал
            Ответить
            • показать все, что скрытоvanished
              Ответить
              • Вкратце - да
                У flow в отличии от typescript разделены проверка типов и непосредственно транспайлинг. При транспайлинге все аннотации типов просто стираются.
                С другой стороны, у компилятора typescript тоже есть возможность не проверять типы, но все равно получится дольше за счет того что ты скорее всего компилируешь в старый js
                Учитывая то что все это все равно будет частью какого-нибудь babel-webpack конвеера, разницы с технической стороны особой нет.
                Типы лучше у typescript, думаю
                Ответить
      • Это тупо скрипт
        Ответить
      • Не нашел вариант TypeScript. Это Angular, если кому-то интересно
        Ответить
        • показать все, что скрытоvanished
          Ответить
        • пажжи!!

          Если Item утебя any, то откуда у него item?!
          Ответить
          • any это когда тебе лень типизировать свои объекты, и тогда приходится на свой страх и риск обращаться к пропертям. но в джаваскрипте только так и работают, поэтму не так уж и страшно
            Ответить
          • "any" - это "пошёл ты нахуй, typescript". Оно отключает любые проверки типов для данной сущности. И дальше можно фигачить как в обычном js. Видишь такую хуйню в коде - либо кодер взял ts для понта, а не для дела, либо дедлайн-срочно-стопицот-правок.
            Если работают хардкору - "any" вообще запрещается линтером.

            По феншую, если ты не знаешь, что за хуйню тебе могут кинуть - надо ставить не "any", а "unknown", тогда "item.item" ты уже не сможешь сделать, пока явно не проверишь это "item" на наличие в нём "item".
            Ответить
    • Pattern decorator
      Ответить
    • показать все, что скрытоhttps://pbs.twimg.com/media/EGA4qdgXUAErvTr.jpg
      Ответить

    Добавить комментарий