The question boils down to this: are both 23
and true
truthy values? If so, shouldn't they be equal under the loose comparison operator ==
? However, there is also the strict comparison operator ===
for cases where precise equality is required.
UPDATE: It seems we've concluded in the comments that it's a counterintuitive bug in the specification.