Розмір відео: 1280 X 720853 X 480640 X 360
Показувати елементи керування програвачем
Автоматичне відтворення
Автоповтор
この問題ずっと気になっていたのですが、まさかの動画解説…!ありがたやー
僕も気になってたので調べましたw
自分も違いがよくわからず、interfaceでよくね?って感じで使ってましたが、typescriptだと、同名インターフェースでマージ出来ちゃうの初めて知りました。これだと意図せず名称が被って誤って拡張してしまう可能性ありますよね・・・。多分他のオブジェクト指向言語は同名インターフェースで定義すると勝手にマージされる事は無かったと思うし、機能追加は基本的にextendsまたはimplementsで追加して使うと思ってた自分からするとそこが凄く気持ち悪いと思いました・・・。型エイリアスだと明示的にマージしようとしない限り出来ないので、ほんとに使い所がありますね!非常に勉強になりました!
「同名インターフェースでマージ出来ちゃう」これがまさにハイライトだと思いました。同じ名前でエラーにならないんですね。知らなかったらハマりそうです。ありがとうございました。
細かくて恐縮なのですが、11:02の交差型は英語名としてはunion型でなくIntersection型が正しいのではないでしょうか🙃
たしカニ!!!🦀ご指摘ありがとうございます!unionは合併型ですね🙏
麻婆丼僕もすきです
山椒ゴリゴリに効いたやつが好きです🔥
TypeScript歴が浅いので間違っているかもしれないけど、interfaceはオブジェクト指向のSOLID原則などで語られる、クラスのクライアントに対して実装に依存させるのではなく抽象に依存させるためのものという認識インターフェース指向プログラミングをするために、interfaceを使用するTypeAliasはデータの型を定義するためのもので、こちらはメソッドをもたないデータクラスを定義するためのものだと思っているそもそもの使用目的が違うため、全く別のものだと思う
この問題ずっと気になっていたのですが、まさかの動画解説…!ありがたやー
僕も気になってたので調べましたw
自分も違いがよくわからず、interfaceでよくね?って感じで使ってましたが、typescriptだと、同名インターフェースでマージ出来ちゃうの初めて知りました。これだと意図せず名称が被って誤って拡張してしまう可能性ありますよね・・・。
多分他のオブジェクト指向言語は同名インターフェースで定義すると勝手にマージされる事は無かったと思うし、機能追加は基本的にextendsまたはimplementsで追加して使うと思ってた自分からするとそこが凄く気持ち悪いと思いました・・・。
型エイリアスだと明示的にマージしようとしない限り出来ないので、ほんとに使い所がありますね!非常に勉強になりました!
「同名インターフェースでマージ出来ちゃう」これがまさにハイライトだと思いました。同じ名前でエラーにならないんですね。知らなかったらハマりそうです。ありがとうございました。
細かくて恐縮なのですが、11:02の交差型は英語名としては
union型でなくIntersection型が正しいのではないでしょうか🙃
たしカニ!!!🦀
ご指摘ありがとうございます!
unionは合併型ですね🙏
麻婆丼僕もすきです
山椒ゴリゴリに効いたやつが好きです🔥
TypeScript歴が浅いので間違っているかもしれないけど、interfaceはオブジェクト指向のSOLID原則などで語られる、クラスのクライアントに対して実装に依存させるのではなく抽象に依存させるためのものという認識
インターフェース指向プログラミングをするために、interfaceを使用する
TypeAliasはデータの型を定義するためのもので、こちらはメソッドをもたないデータクラスを定義するためのものだと思っている
そもそもの使用目的が違うため、全く別のものだと思う