タグ

ブックマーク / nmi.jp (3)

  • JavaScript クイズ解説: NaN === NaN の結果はどうなる?

    先日、このようなツイートを書きました。 久しぶりの JavaScript クイズ。 JavaScript において NaN === NaN の結果は次のうちどれになるでしょうか? — Takuo Kihira (@tkihira) September 7, 2021 答えは 4 の「状況によって上記以外もありうる」です。でも、2 や 3 を選んだ方も、もはや正解だといって差し支えないと思います。 解説が長くなったので、ブログ記事にまとめました。 そもそも NaN とは NaN は “Not a Number” を意味する数値です。数値なのに「Not a Number」というのは違和感があるかもしれませんが、数値表現することが出来ない状態を保持するために便宜的に用意された数値、というようなものです。 NaN は、浮動小数点演算において数値では表現出来ない計算をしようとすると登場します。例えば

    karupanerura
    karupanerura 2021/09/09
    おもしろい
  • JavaScriptの+演算子の謎挙動に迫る » nmi.jp

    console.log(+[]); // 0 console.log(+[3]); // 3 console.log(+[null]); // 0 console.log(+[undefined]); // 0 console.log(+["3"]); // 3 console.log(+[1,2]); // NaN console.log(+[true]); // NaN console.log(+[false]); // NaN なぜこのような処理になるのか、JavaScriptの仕様書(ECMA Script Specification 5th)から説明してみましょう。 まず最初、単項+演算子(Unary + Operator)を評価する際に、ToNumberを呼び出すのは前述したとおりです。仕様書の(11.4.6)に書かれています。ではToNumberとはどのような処理でしょうか。

    karupanerura
    karupanerura 2013/06/29
    valueOfかー
  • Flashの抱える3つの問題 » nmi.jp

    この記事は2011年3月5日、私がまだ前の会社を経営していた頃にFacebookで公開した内容です。 当時はExGame(Flash Player on HTML5)の開発に四苦八苦していたので、Flashに対する憎しみが非常に深かったことを付記させてください。 私はFlashが大嫌いです。主に次の3点によるものです。 インストールアプリである 仕様が公開されていない 標準化されていない Flashはブラウザの標準機能ではなく、プラグインという形のインストールアプリです。私はインストールという存在が許せないという思いを常々持っています。インストールはユーザーもしたくないし、開発者だって出来ればさせたくない。ビジネスにおいてお互いにルーズ・ルーズの関係になる、数少ない行為だと思っています。 最近話題になったピグの問題をご存じでしょうか?アメーバのピグというソーシャルゲームの動作環境をFlas

  • 1