почему примитивные типы не объекты?
В общем вопрос в названии темы. Урыл энное количество времени из-за бага в строке
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'); } |
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 03:45. |