MapとSetが+0と-0を区別しなくなった
概要
MapやSetとは、キーにあらゆる型のあらゆる値を使えるコレクションである。
かつてはキーとして+0と-0を区別していたのだが、区別しないことになり、V8の実装も追従した。
例
m = new Map m.set(0, 'positive zero') m.get(-0) // "positive zero"
基本的に「===」でtrueとなる値がキーとして同じとみなされる。
但しNaNのみ例外で、NaNとNaNはキーとして同じとみなされる。
s = new Set s.add(NaN) s.has(NaN) // true
変更が加えられたバージョン
V8 3.24.26-??? 3.29.9.1-