minor fixes

This commit is contained in:
Ilya Kantor 2015-05-22 21:07:46 +03:00
parent 6bf5977407
commit a592e89fdb
20 changed files with 184 additions and 96 deletions

View file

@ -187,19 +187,19 @@ alert( a - b ); // "1" - "2" = -1
Бинарный оператор плюс `+` обычно использует числовое преобразование и метод `valueOf`. Как мы уже знаем, если подходящего `valueOf` нет (а его нет у большинства объектов), то используется `toString`, так что в итоге преобразование происходит к строке. Но если есть `valueOf`, то используется `valueOf`. Выше в примере как раз `a + b` это демонстрируют.
У объектов `Date` есть и `valueOf` и `toString`. Но оператор `+` для `Date` использует именно `toString` (хотя должен бы `valueOf`).
У объектов `Date` есть и `valueOf` -- возвращает количество миллисекунд, и `toString` -- возвращает строку с датой.
...Но оператор `+` для `Date` использует именно `toString` (хотя должен бы `valueOf`).
Это и есть исключение:
```js
//+ run
// бинарный плюс, строчное преобразование
// бинарный плюс для даты toString, для остальных объектов valueOf
alert( new Date + "" ); // "строка даты"
// унарный плюс, как и - * /, приводит к числу
alert( +new Date ); // число миллисекунд
```
Других подобных исключений нет.
Других подобных исключений нет.
[/warn]
[warn header="Как испугать Java-разработчика"]