почему примитивные типы не объекты?
В общем вопрос в названии темы. Урыл энное количество времени из-за бага в строке
this._appendToRow(row, typeof this.ocot[i] == "undefned" ? "\u00a0" : this.nts(this.ocot[i]));ну и в голову полезли мысли на тему... Вопрос не в том, что нужно было сразу писать x == undefined, а в том, что typeof вообще существует, что очепятка приводит к багу (а вроде бы сейчас хотят добавить возможность создавать пользовательские типы, что вообще будет тогда), что Number - это враппер а не суперкласс, со всей присущей ему путаницей. Почему именно так, а не попроще, я что-то упускаю? |
Цитата:
Цитата:
|
Цитата:
Цитата:
Цитата:
|
Цитата:
typeof 43 //number typeof (new Number(43)).valueOf() //number Цитата:
|
Цитата:
Цитата:
|
Kfuse, читайте спеку?
Цитата:
|
Цитата:
|
Цитата:
Цитата:
Хотя ещё раз, мне интересно, почему так вообще было сделано, почему JS такой, почему так написано в спецификации, почему вместо единой системы типов их две? Мне интересно возможное обоснование этой как мне видится ненужной усложнённости. |
Цитата:
З.Ы. Надо вас добить. if (new Boolean(false)) { alert('true'); } |
Цитата:
Цитата:
|
Нашёл кто ето говорил, Brendan Eich. Более того, вот https://mail.mozilla.org/pipermail/e...ry/010677.html тоже от него. Так что возмутся, и скоро (< через 10 лет). И пара цитат:
"The Ecma TC39 committee is in favor of exploring adding value types to allow library authors to implement types such as Decimal, Rational, Complex, Quaternion, RGBColor, etc." "The issues raised include dispatch design, literal syntax, whether the built-in primitives can or should be recast as value types" то есть это возможно, а значит текущему дизайну JS просто обязан Джаве. |
Ну будут они реализованы в Firefox, и что? В остальных-то браузерах этого не будет. Как и сейчас в Firefox куча удобных дополнений языка, а пользоваться ими нельзя, только если для плагинов.
|
Почему не будет? Там вроде все в этом комитете, и Эппл, Майкрософт и Гугль, так что это не самодеятельность Мозиллы.
|
Цитата:
Вообще странные претензии у людей пошли о не справедливости. Ну поломали вы голову чуток, не сломали же? Или всё таки сломали раз сюда пришли с такими вопросами.. П.С. "Почему трава зелёная?" - "Фотосинтез детонька." |
Часовой пояс GMT +3, время: 05:23. |