3
は、だから私はちょうど見つけ、この:`toPrecision`とリテラル
let number = -1234;
console.log(number.toPrecision(3)); // -1.23e+3
console.log(-1234..toPrecision(3)); // -1230
誰もが起こっている正確に何を説明することはできますか?私が考えることができるのは、2番目のケースでオプティマイザが式を事前計算し、オプティマイザの実装がtoPrecision
であることがコンパイラのものと異なっていることだけです。
- サファリ/マック、バージョン10.1(12603.1.30.0.34)
- クローム/マック、バージョン59.0.3071.104(公式ビルド)(64ビット)
- のFirefox:でテスト
/マック、54.0.1(64ビット)
EDIT:再:小数点、偉大な観測によってトリガされている - 私たちはnumber
に小数点を追加した場合しかし、それは突然いないデexponentise :
let number = -1234.5;
console.log(number.toPrecision(3)); // -1.23e+3
console.log(-1234.5.toPrecision(3)); // -1230
言い換えれば、文字列対数字 –
ありがとう、私は何かが明らかに欠けていたと思う! – Amadan
この答えは 'typeof'を使って確認できます。最初の文字列は 'string'を生成し、2番目の文字列は' number'を生成します。 – 4castle