Size: a a a

2020 July 05

m

makoven in ☄️ effector
Добавим сюда возможность инстанцировать объекты с генерик типами и тайпчекинг всего этого дела и получим мощный инструмент
источник

FB

Furrya Black in ☄️ effector
Так объект или класс? Объект имея n нужных методов/тип тоже может отрисоваться где то там, суть про классы и не классы и где идеально, ты написал про типы/интерфейсы)
источник

m

makoven in ☄️ effector
Furrya Black
Так объект или класс? Объект имея n нужных методов/тип тоже может отрисоваться где то там, суть про классы и не классы и где идеально, ты написал про типы/интерфейсы)
Как ты без классов создашь объект, имплементирующий нужные интерфейсы?
источник

FB

Furrya Black in ☄️ effector
makoven
Как ты без классов создашь объект, имплементирующий нужные интерфейсы?
interface IOne {
 yoba(): void;
}

type One = IOne;

const one: One = {
 yoba() {
   alert('yoba')
 },
}

one.yoba()

Потрындим за дифферент между интерфейсом и типом в мире жс?))
источник

AO

Aleksandr Osipov in ☄️ effector
Furrya Black
interface IOne {
 yoba(): void;
}

type One = IOne;

const one: One = {
 yoba() {
   alert('yoba')
 },
}

one.yoba()

Потрындим за дифферент между интерфейсом и типом в мире жс?))
А в чем разница? Я вот так и не понял, использую type всегда
источник

FB

Furrya Black in ☄️ effector
интерфейс можно extend, type нельзя
источник

m

makoven in ☄️ effector
Furrya Black
interface IOne {
 yoba(): void;
}

type One = IOne;

const one: One = {
 yoba() {
   alert('yoba')
 },
}

one.yoba()

Потрындим за дифферент между интерфейсом и типом в мире жс?))
Имплементироватьинтерфейс  не всегда значит вернуть его
источник

AO

Aleksandr Osipov in ☄️ effector
Furrya Black
интерфейс можно extend, type нельзя
Так есть же &
источник

AO

Aleksandr Osipov in ☄️ effector
В чем разница с extend?
источник

AO

Aleksandr Osipov in ☄️ effector
Ну типа type MyStore<T> = Store<T> & {mycustomfield: number}
источник

FB

Furrya Black in ☄️ effector
И экспортируешь ты набор методов своей либы в паблик + типы
а человеку нужен MyCustomStore, и чтобы myCustomStore: MyCustomStore съедался паблик методами(методом) твоей либы, как ему быть?
источник

m

makoven in ☄️ effector
Aleksandr Osipov
Ну типа type MyStore<T> = Store<T> & {mycustomfield: number}
Очень наглядно. На уровне Perl или даже лучше
источник

AO

Aleksandr Osipov in ☄️ effector
makoven
Очень наглядно. На уровне Perl или даже лучше
Эм? А что не так?
источник

AO

Aleksandr Osipov in ☄️ effector
Совершенно прозрачный синтаксис
источник

m

makoven in ☄️ effector
Aleksandr Osipov
Совершенно прозрачный синтаксис
Объединение типов и имплементация интерфейсов семантически разные вещи
источник

AO

Aleksandr Osipov in ☄️ effector
Чем?
источник

АБ

Александр Бакиматов... in ☄️ effector
makoven
Очень наглядно. На уровне Perl или даже лучше
не смотри тогда на эрланг:D
источник

AO

Aleksandr Osipov in ☄️ effector
makoven
Объединение типов и имплементация интерфейсов семантически разные вещи
не имплементация а расширение наверное имелось ввиду?
источник

AO

Aleksandr Osipov in ☄️ effector
мы же про union vs extends?
источник

АБ

Александр Бакиматов... in ☄️ effector
Aleksandr Osipov
мы же про union vs extends?
+
источник