1. ホーム
  2. javascript

[解決済み] Chromeのコンソールで{} + {}がNaNでなくなったのはなぜですか?

2022-05-11 15:42:39

質問

今日、Chrome 49が出力されなくなったことに気づきました。 NaN と入力すると {}+{} をコンソールに入れる。その代わり、文字列 [object Object][object Object] .

これはなぜでしょうか。言葉が変わったのでしょうか?

どのように解決するのですか?

で始まるものはすべて自動的にラップされるようになりました。 { で終わりです。 } を、暗黙のうちに一対の括弧で囲んでいます ( コードを見る を参照)、式として評価することを強制します。そのように {} は今、空のオブジェクトを作成します。これは歴史をさかのぼればわかることですが、( )、前の行が含まれるのは (…) .

なぜか? わからないが ブロック-オブジェクト-リテラルということを知らない初心者の混乱を減らすためと推測できますし、単に式を評価したい場合にもより便利です。

で議論されているように、実際そのような理由です。 バグ 499864 . 純粋に便利だからです。そして、なぜなら ノードREPLが持っていた も持っていたからです ( コードを見る ).