パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

悩まされてしまうプログラミング言語の奇妙な特徴は?」記事へのコメント

  • 邪悪な仕様を列挙すると
    ・var の巻き上げ
    ・ブロックスコープがない
    ・モジュールがない
    ・class 構文がない (class のようなものは作れるのに!)
    ・ただの function なのに this にアクセス出来る (コールバックに登録した時は便利だけど、直で呼び出した時は this は何?とか)
    他も細かいのは色々…

    ただ、そんな JavaScript を俺は好きだ。

    • by Anonymous Coward

      ES6では巻き上げ無しのブロックスコープ宣言letが入ったし、
      モジュールも、class構文も、thisバインド関数もあるじゃん。

      • もちろん、ES6 でかなりの部分が解決されたけど、まだ当たり前のように使えるようになるには
        数年掛かると思うよ。

        現状でも TypeScript を使えばかなりの部分が解決されるから、基本 TypeScript でやっちゃってるけどね。
        (短いものは直接 JavaScript だけど)

        • by Anonymous Coward

          JSが使われる環境も目的も広いから、何をもって当たり前と言ってるのかが分からない。
          最近モジュール周り仕様がファイナライズされたから、ES6->ES5コンパイラをもって、当たり前に使えるとしてもいいと思う。

          • > JSが使われる環境も目的も広いから、何をもって当たり前と言ってるのかが分からない。
            普通意味するところは、ES6 を直接実行できる環境が全てのブラウザで提供されている事だ。

            > 最近モジュール周り仕様がファイナライズされたから、ES6->ES5コンパイラをもって、当たり前に使えるとしてもいいと思う。
            ES6->ES5コンパイラなんて、TypeScript 以外実用的じゃないんで、まだ当たり前にはなってないね。
            TypeScript もES6の一部を取り入れてるだけだし。

            • by Anonymous Coward

              TypeScriptはES6->ES5コンパイラじゃない。
              Traceurとかがそうであって、十分実用的。
              全てのブラウザとか言ってたら、ES5でさえ未だに当たり前に使えないことになってしまう。
              それにES6は互換性があるから、段階的にES5の上に実装していくことができる。
              現に全てのメジャーブラウザの最新版では、何らかの機能が実装されてる。
              逆に今だES5の公式テストにフルパスする実装は殆ど無い。
              万人に共通する当たり前だなんで言えない。

開いた括弧は必ず閉じる -- あるプログラマー

処理中...