a == aのケースについて話されてるかはこれから読みます。Array.== first looks to referential equality of underlying buffer...Array.== first looks to referential equality of underlying Element.==. As a consequence, an array of NaN compares equal to another array of NaN if they share the same buffer, but otherwise false. This is an undesirable outcome. 頭から書いてあった