>> 9999999999999999==10000000000000000
> Ок. Сравниваем Number.MAX_SAFE_INTEGER с твоим числом:
>> 9007199254740991 // Number.MAX_SAFE_INTEGER
>> 9999999999999999 Явность и некостыльность прям изо всех щелей, да.
> Вывод: ССЗБ, для заведомо больших чисел во всех языках пользуются либами вроде BigNumber.
Да ну?
>>> 9000000000000000000000000 == 10000000000000000000000000False
>>> 2**1234
29581122460809862906004469571610359078633968713537299223955620705065735079623892426105383
72483780501864436477590709559931208208993303817609370272124828409449413621106654437751834
95726811929203861182015218323892077355983393191208928867652655993602487903113708549402668
62452110061179427034023276609931709804888749380902312739825386061877261903500988327294112
9544640111837184L
1 ?- 9000000000000000000000000 == 10000000000000000000000000.
false.
4 ?- X is 2**1234.
X = 295811224608098629060044695716103590786339687135372992239556207050657350796238924261053837248378050186443647759070955993120820899330381760937027212482840944941362110665443775183495726811929203861182015218323892077355983393191208928867652655993602487903113708549402668624521100611794270340232766099317098048887493809023127398253860618772619035009883272941129544640111837184.
>> "\n" == 0
>> "\n\t\n" == 0
>> [etc.]
> Сам написал, сам же и опровергнул: http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3
Вопрос, как бы, был о костыльности и куча специальных правил для сравнения ... ну ладно, пусть будет очередной офигительной фичей.
>> классические факапы слабой типизации, типа "1"+2 = "12".
> А если бы в итоге получили число 3, то
То это, внезапно, была бы все та же слабая типизация.
> То есть тут дело конвенции, а не знать конвенцию -- ССЗБ.
Конвенция тут -- слабая типизация. Ваш Кэп.
> Если делать "по-строгому, по-науке", то
> template string-и выглядели бы примерно так: `Привет, ${user.name.toString()}, у вас ${unread.toString()}
> непрочитанных сообщений` вместо `Привет, ${user.name}, у вас ${unread} непрочитанных
> сообщений`.
А вот это вообще из другой оперы. И записывается, кстати, примерно таким макаром даже в хаскеле.
А если по простому, то в этом случае, вполне явно и очевидно ожидается строка. И если у объекта есть метод "toString", то ...
> Опровергнуто.
Потому что удобнее и вообще, гладиолус!