TypeScript #9 Интерфейсы (Type Interface)

Поделиться
HTML-код
  • Опубликовано: 24 дек 2024

Комментарии • 70

  • @aipronator
    @aipronator 3 года назад +5

    Спасибо за видео. Что можно улучшить:
    1) Привести практический пример, где без интерфейсов не обойтись. Иначе непонятно зачем они вообще нужны.
    2) На 3:11 говорится про проверку на лишнее свойство в интерфейсе (компилятор выкинет ошибку), однако на 5:05 , когда речь про классы, то уже можно добавлять неограниченное кол-во свойств, которые не описаны в интерфейсе. Обучаюсь, пока вводит в ступор
    3) Еще показалось что самое подходящее слово для понимания, что такое интерфейс - это шаблон, по которому должны создаваться объекты. Вроде оно не звучало в видео

    • @__kawaii
      @__kawaii 2 года назад

      Интерфейсы вообще везде нужны)

  • @MegaVaNushka
    @MegaVaNushka 3 года назад +8

    ну просто максимально хорошее изложение материала!

    • @YauhenKavalchuk
      @YauhenKavalchuk  3 года назад

      Спасибо большое за отзыв

  • @PieceOfInternet
    @PieceOfInternet Год назад +1

    Спасибо за информативный урок!
    От себя добавлю, что интерфейсы с одинаковыми названиями "склеиваются" и если имплементировать такой тип интерфейса, то придётся реализовать все сущности внутри данных интерфейсов

    • @YauhenKavalchuk
      @YauhenKavalchuk  Год назад

      Всегда пожалуйста. Спасибо за уточнение

  • @taran_dm
    @taran_dm 2 года назад +6

    Отлично! Спасибо за труд!

  • @timothyrebesh5092
    @timothyrebesh5092 4 года назад +7

    Отлично преподнес материал!

  • @melsvagharshyan
    @melsvagharshyan Год назад +1

    Спасибо за уроки💙

  • @harshandfair
    @harshandfair 3 года назад +8

    отличаня подача материала, жаль я в начале изучения ts не наткнулся на ваш канал :)

    • @YauhenKavalchuk
      @YauhenKavalchuk  3 года назад +1

      Спасибо за отзыв

    • @ДанилДмитриев-я5м
      @ДанилДмитриев-я5м Год назад

      как успехи

    • @swaxshow8404
      @swaxshow8404 Год назад

      @@ДанилДмитриев-я5мя его знакомый, он погиб.

    • @KivanV
      @KivanV Год назад

      @@swaxshow8404 где доказательства? приведи доказательства хоть какие-нибудь

  • @wqqtm3584
    @wqqtm3584 2 года назад +1

    Спасибо за уроки)👍

  • @РоманГирич-з5ш
    @РоманГирич-з5ш 4 года назад +1

    просто то что нужно !

  • @Zalupa501
    @Zalupa501 3 года назад +1

    Супер

  • @delysidcolor
    @delysidcolor Год назад

    Yauhen - читается как Яухен, ну или более понятно - Юхен))) Я думал вы швед))) За уроки спасибо, очень полезные

    • @YauhenKavalchuk
      @YauhenKavalchuk  Год назад

      Пожалуйста)

    • @MaDoS_PaNoS_UnderBoSs
      @MaDoS_PaNoS_UnderBoSs 9 дней назад

      Яхуел от этой темы с интерфейсами, ладно разберемся на практике)

  • @nursultankulpubekov3262
    @nursultankulpubekov3262 4 года назад +3

    В общем и целом )))
    - А. Щербаков

  • @react_js
    @react_js Год назад

    спасибо за уроки, четко все. не скучно. скучать не успеваю ахах

  • @lesya-ukrainier
    @lesya-ukrainier 3 года назад +1

    спасибо, очень информативно

  • @annpristavka1542
    @annpristavka1542 2 года назад

    Спасибо ❤

  • @МаксимИсаев-ъ5о
    @МаксимИсаев-ъ5о 2 года назад +1

    Кайф!

  • @yuriinadilnyi3029
    @yuriinadilnyi3029 3 года назад

    extremely cool) nice going

  • @O-L-1986
    @O-L-1986 3 года назад

    Спасибо

  • @baikalbear7960
    @baikalbear7960 4 года назад

    Good video, thanks

  • @alexandertikhonov4389
    @alexandertikhonov4389 3 года назад +3

    В примере type User { name: string ... - между User и { должно быть = иначе Parsing error: '=' expected.

  • @world_newsreels
    @world_newsreels Год назад

    Спасибо большое за видео. Как то пропустил для себя наследование в интерфейсах, …

  • @vitabramov89
    @vitabramov89 4 года назад

    спасибо за видео! только не понял чем интерфейсы мощнее типов)
    следующий код также прекрасно работает:
    type NameType = {
    readonly name: string;
    };
    type AgeType = {
    readonly age: number;
    };
    class Person implements NameType, AgeType {
    readonly age: number;
    readonly name: string;
    constructor(name: string, age: number) {
    this.age = age;
    this.name = name;
    }
    }
    const John = new Person('John', 30);
    console.warn(John);
    -----
    типы тоже можно расширять через & и | (читай наследовать)
    и, как мы видим выше, имплементировать

    • @YauhenKavalchuk
      @YauhenKavalchuk  4 года назад

      Можете погуглить эту тему. Там целый список отличий. Но по факту, разница для обычных проектов практически не заметна

  • @andreiihomenko8859
    @andreiihomenko8859 2 года назад

    немного опечатка type должен быть
    type User = {
    name: string
    age: number
    }

  • @nadiiabeskurskaya8233
    @nadiiabeskurskaya8233 2 года назад +1

    Зачем создавать класс с данными, он же является шаблоном, а не объектом. На основании класса должна быть возможность создавать инстансы с разными данными. Интерфейс и класс это должны быть абстракции. Или я чего-то не понимаю?

  • @sharn3000
    @sharn3000 4 года назад +4

    1:14 type User {} забыл =

  • @dmytroyurchenko200
    @dmytroyurchenko200 2 года назад

    Нехватает обьяснения что интерфейс даёт возможность создать переменную Some типа интерфейс SomeIntf, которая может принимать в себя все инстансы классов, которые реализуют интерфейс SomeIntf
    Также не хватает про интерфейс экстенд класс. у которого поля приват и протектед
    Пример кода ниже
    interface ClockInterface {
    currentTime: number;
    }

    class Clock1 implements ClockInterface {
    currentTime: number;
    constructor() {
    this.currentTime = 10;
    }
    }
    class Clock2 implements ClockInterface {
    currentTime: number;
    constructor() {
    this.currentTime = 20;
    }
    }
    let zSome : ClockInterface = new Clock1();
    console.log(zSome);
    zSome = new Clock2();
    console.log(zSome);
    Также не раскрыта тема тайпкаста ссылочных типов данных, например если мы в Клок1 мы добавим свое лишее любое поле, то в зСоме его не будет этого лтшнего полч, происходит ссужение ссылочного типа потому что Клок1 теряет функциональность после инстанцирования в зСоме

  • @readermangas
    @readermangas 3 года назад

    Как можно с помощью тайпскрипта приписать css class строке ну или обьекту

    • @YauhenKavalchuk
      @YauhenKavalchuk  3 года назад

      Это есть в курсе React + TypeScript

  • @antivirus401
    @antivirus401 2 года назад

    А какой разница между interface и abstract?

    • @YauhenKavalchuk
      @YauhenKavalchuk  2 года назад

      Можете тут посмотреть ruclips.net/video/VjGdjqyXbhg/видео.html

    • @react_js
      @react_js Год назад

      как минимум пишутся по разному ахах

  • @ex-xg5hh
    @ex-xg5hh Год назад

    Интерфейсы не мощнее типов, всё как раз наоборот. Тип это мощный универсальный инструмент, а интерфейс инструмент узкоспециализированный. Он немного удобнее в своих задачах, но фич имеет меньшее.

  • @iGotton
    @iGotton 4 года назад

    +

  • @igors1208
    @igors1208 3 года назад

    ... статик метод класса как описать в интерфейсе? гуглил-гуглил. ничего не нашел толкового и простого.... Всё какието - вундервафли через дженерики и декораторы...

  • @YuriiKratser
    @YuriiKratser 4 года назад +2

    Здравствуйте, выскажитесь пожалуйста к Дню Победы над немецко-нацистским захватчиком.

    • @СергійБереза-ъ7с
      @СергійБереза-ъ7с 4 года назад +1

      а как эта тема относится к тематике канала?

    • @YuriiKratser
      @YuriiKratser 4 года назад

      @@СергійБереза-ъ7с я прошу прощение, а какое отношение имеет пшеница к металопластику?