タグ

ブックマーク / developer.mozilla.org (2)

  • Array.prototype.toString() - JavaScript | MDN

    const arr = []; arr.join = 1; // `join` を関数ではないものに再代入 console.log(arr.toString()); // [object Array] と出力 console.log(Array.prototype.toString.call({ join: () => 1 })); // 1 と出力 配列を文字列値として表す必要がある場合や、配列が文字列の結合として参照されるとき、 JavaScript は toString メソッドを自動的に呼び出します。 Array.prototype.toString は他の配列も含めて、再帰的にそれぞれの要素を文字列に変換します。Array.prototype.toString` が返す文字列には区切り文字がないので、入れ子配列は平坦化されたように見えます。

    Array.prototype.toString() - JavaScript | MDN
    a96neko
    a96neko 2020/12/10
  • isNaN() - JavaScript | MDN

    NaN の値は、算術演算の結果が未定義または表現不可能な値となった時に生成されます。こうした値が常にオーバーフロー状態を表現するとは限りません。NaN はプリミティブな数値が利用不可能といった、非数値を数値へと型強制した結果として生成されることもあります。 例えば、ゼロをゼロで除算した場合の結果は NaN になりますが、その他の数をゼロで除算した場合は異なります。 isNaN 関数の定義はごく初期のバージョン以降、数値ではない引数における振る舞いが分かりにくいものとなっていました。 isNaN 関数の引数が数値型ではない場合、その値はまず数へと型強制されます。その結果の値はその後 NaN かどうかがテストされます。このようにして、数値型に型強制される際に結果が NaN ではない数値となる非数値 (とりわけ型強制されると 0 や 1 の値になる空文字列や論理値プリミティブ) に対しては、予想

    isNaN() - JavaScript | MDN
    a96neko
    a96neko 2019/09/25
  • 1