This commit is contained in:
Ilya Kantor 2014-11-16 01:40:20 +03:00
parent 962caebbb7
commit 87bf53d076
1825 changed files with 94929 additions and 0 deletions

View file

@ -0,0 +1,15 @@
Если с одной стороны -- объект, а с другой -- нет, то сначала приводится объект.
В данном случае сравнение означает численное приведение. У массивов нет `valueOf`, поэтому вызывается `toString`, который возвращает список элементов через запятую.
В данном случае, элемент только один - он и возвращается. Так что `['x']` становится `'x'`. Получилось `'x' == 'x'`, верно.
P.S.
По той же причине верны равенства:
```js
//+ run
alert( ['x','y'] == 'x,y' ); // true
alert( [] == '' ); // true
```

View file

@ -0,0 +1,11 @@
# ['x'] == 'x'
[importance 5]
Почему результат `true` ?
```js
//+ run
alert( ['x'] == 'x' );
```