Задать вопрос
  • Лучшие книги для изучения JavaScript в области разработки интерфейсов (Frontend)?

    evgeniy8705
    @evgeniy8705
    Повелитель вселенной
    Для чего составлять такую подборку? Вы просто перечислили практически все книги на русском по JS. При чем однотипные.
    Большинство из них описывают одно и тоже. Я прочитал почти все из этого списка. По опыту могу сказать, что читать всю подборку не нужно.
    Посоветовал бы прочитать книгу Ильи Кантора и книгу "Javascript для профессиональных веб-разработчиков", автор Николас Закас вроде.(Вместо второй можно прочитать Фленагана. Подробное руководство., но Заказ мне больше нравится, по моему мнению гораздо лучше объясняются многие вещи). Две эти книги, достаточно объемные и информативные, всю основу прекрасно преподносят.
    Также посоветовал бы книгу по оптимизации производительности, автор также Николас Закас и любую книгу по регулярным выражениям, но это уже после некоторой практики. А также книгу "Веб-приложения на JavaScript". Сам ее только вот начну читать, но по содержанию и отзывам достаточно хорошая.

    Достаточно будет чтобы довольно хорошо освоиться в языке.
    Не нужно читать однотипные книги. С 3 по 6 включительно пункты не стоит читать. Только зря потратите время.

    ООП объясняется в первых двух книгах которые я упомянул. Также книга про паттерны - largescalejs.ru/.

    Но главное не просто читать а повторять все примеры и выполнять все задания, попутно придумывания задания для себя самому. Чем больше практики, тем лучше будет откладываться информация в голове и будет намного лучшее понимание что да как.
    Я читать некоторые книги по несколько раз, потому что не сильно парился сначала о практике, просто читал, выполнял некоторые задания, по ходу было понятно, но через главу, уже все забывалось... Поэтому практикуйте, практикуйте и еще раз практикуйте.
    Удачи в обучении!
    Ответ написан
    Комментировать
  • Какой тип указать для Event?

    @SANTA2112
    const handleChange = (event: React.FormEvent<HTMLFormElement>) => {
      console.log(event.currentTarget.name)
    }
    Ответ написан
    Комментировать
  • Недостатки видеоуроков?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Видеоуроки - как книжки "для чайников". Как правило - это много частных примеров, мало теории. Плюс к тому, обычно читать тот же текст получится быстрее, чем смотреть видео, т.к. читать можно по диагонали.
    Видеоуроки подойдут, если:
    • У вас индукционное мышление - 100 примеров лучше чем страница теории.
    • Вы воспринимаете "на слух" лучше, чем читая текст.

    Но рано или поздно наступит момент, когда документация станет родным домом, а видеоуроки будут восприниматься как потеря времени, потому что время==деньги, и час расслабона, смотря видео, станет стоить слишком дорого.
    Но не стоит вообще отказываться от таких форматов. Мой преподаватель по электронике, умнейший человек, говорил: "Не стоит гнушаться книжек 'Для чайников' - в них информация изложена кратко и максимально доступно. И этого минимума может хватить чтобы начать уже что-то делать"
    Ответ написан
    Комментировать
  • Как перевести положительное число в отрицательное и наоборот на JS?

    @msdosx86
    array.map(item => item * -1);
    Ответ написан
    Комментировать
  • Зачем нужны Module и Namespace?

    bingo347
    @bingo347 Куратор тега TypeScript
    Crazy on performance...
    TypeScript появился еще до того, как в JavaScript, на котором он основан, появились какие либо модули, не то что нативные, даже эмуляций вроде commonjs или amd тогда еще не было. В те времена было в норме просто обернуть содержимое файла в замыкание, а потом либо просто подгрузить все файлы через тэг script либо просто соединить эти файлы в один. Наружу же высвечивалась одна единственная переменная, содержащая все публичное апи такого модуля, ее ложили или в глобальный объект или в другую такую-же переменную.
    Конструкции module и namespace позволяют упростить создание таких переменных, избавив разработчика от написания однотипного кода. В этом плане они по сути делают одно и то же.
    Сейчас это не рекомендованное использование, и стандартный плагин typescript к eslint с настройками по умолчанию запрещает эти конструкции.

    Второе применение - это файлы деклараций.
    namespace позволяет объявить объект, но несколько особенный в рамках типизации, он может содержать в себе любые сущности языка и экспортировать не которые из них, в том числе типы, что недоступно для декларации обычного объектного типа.
    declare namespace XXX {
      // по сути просто поле XXX.a
      let a: number;
      // то же поле XXX.b но уже const
      // современный ts позволяет делать поля readonly, но раньше так было нельзя
      const b: number;
      // функция, по сути метод XXX.c()
      function c(): void;
      // а вот вложенный тип через тип объекта не объявить, а в namespace можно
      type T = number | string;
    }

    module позволяют объявить виртуальные модули, о типах которых typescript не знает, например потому что они генерируются сборщиками вроде webpack. Яркий пример тут это css-модули или картинки, которые можно импортировать благодаря webpack, но typescript ничего не знает о их типах, поэтому нужно объявить их в глобальных декларациях:
    declare module '*.png' {
      const url: string;
      export default url;
    }
    declare module '*.css' {
      const classNames: Record<string, string>;
      export default classNames;
    }
    Ответ написан
    1 комментарий
  • Как убрать разделение на страницы в Google Docs?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    Ответ написан
    Комментировать