2021-05-19

TypeScriptWebから追いやり、Microsoftを倒す方法

が見つかって俺が騒然。

TypeScriptバージョン 4.3 で、「オーバーライド」を明示する機能が付いた。

class Base {
    foo() { }
}
class Deriv extends Base {
    override foo() { } 
}

これは、TypeScript の大きなアキレス腱となる。

もし ECMA が別の記法採用したらどうなるだろうか?

例えば、こう

class Base {
    foo() { }
}
class Deriv extends Base {
    foo(): Base { }
}

コロンの後ろに基底クラス名を指定し、これでオーバーライドを明示する記法としたらどうだろう?

TS としては「foo() は Base を返すメソッド」に見えるのに……

見た目は同じなのに TSJS意味が異なるとなれば、TS はもう「JSスーパーセット」と名乗れなくなるだろうし

コードを読まされるプログラマにとっても大きな負担となり、TS に身勝手機能を取り付けていった Microsoft

多くのプログラマから愛想をつかされるだろう。

似た事は「private」で起こっていた。

TSプライベートメンバを「private」で表したのに対し、ECMA は「#」記号で表すことにした。

しかしこれは残念ながら TS の都合とバッティングするものではなく、TS はすぐに ECMA追随してしまった。

TSMSWeb から追いやるには、ECMAちょっと工夫をするだけでよい。

ECMA の動きに大いに期待したい。

  • elm使ってるので界隈のいがみ合いはよく知らないけどTSってそんな嫌われてるの

  • なんでTypeScript嫌いなん?

    • (元増の事は知らんけど) 自分がTypeScriptが嫌いなのはやっぱパターンマッチングが無い事かな  let fuga = (match hoge      (let 10 (when (lte v 10)))      (let 20 (when (lte v 20)))     ...

      • パターンマッチングねえ確かにあれば便利だよね(golangに脳を破壊されたプログラマ) TypeScriptってプログラミング言語だけどプログラミング言語じゃないのでJavascript側がパターンマッチ...

    • TS俺もちょっと遠ざけてるわ TSでコンパイルしたスクリプトをサーバに上げると、なんかサーバおかしくなる 画像とかが一切読めなくなる 素のJavaScriptにしてれば異常無いのに・・ まあ...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん