Brendan Eich (2014-01-14T20:49:44.000Z)
domenic at domenicdenicola.com (2014-01-22T19:32:29.350Z)
Kevin Smith wrote: > Right - I meant what are the semantics of "===" applied to dissimilar, > perhaps "numeric", value types. We worked through this in 2008 when IBM was pushing decimal at ES3.1 (now ES5). We do not want 0m === 0 for many reasons, including the relation typeof x == typeof y && x == y <=> x === y We also didn't want problems of cohorts differing by significance (1.0m vs. 1m, if you can believe it) being equated to 1 (the number). This is one of the reasons I've designed value objects (so far) to allow typeof customization. (The other is because typeof is *useful* in numeric contexts, and making all non-number numerics have typeof-type "object" is useless, a disservice to users.) There is nothing wrong in my view with well-written == usage. I'm not Crock. I don't say always use ===. While opinions vary, the fact remains that == and <= are in the language, are loose, and need to be overloadable for useful value objects, specifically more numeric types. Suggest you pull == out of your mental penalty box and look at it again. It's not a recidivist.