Since my memory is not very reliable, I can’t say that I remember either or, but since ECMA kindly kept all versions of the ECMA-262 specification, you can postpone them when the "The Strict Equals Operator" was introduced into the language.
I cannot find mention of this in either the ECMA-262 1st Edition or the ECMA-262 2nd Edition , but in the ECMA-262 3rd Edition we will mention this in chapter 11.9. 4 (p. 56). The natural conclusion from this is: No, JavaScript did not have ===
when it first appeared.
Since the other languages you are talking about are not (as far as I know) ratified by any standardization body, I think it’s harder to find old versions of a language specification if there is such a thing as a specification for a language at all.
It is important to note, however, that the ===
value in Ruby can be very different than in JavaScript or PHP (where it is pretty similar). In Ruby, it is usually used for "subsumption", that is, to check if something exists inside something else (like a collection), while in the other two langauges it is used to strictly check for equality, which means that type conversion is not performed on each side of the operator before applying it.
source share