en.javascript.info/1-js/6-objects-more/2-object-conversion/1-array-equals-string/solution.md
2015-01-14 10:23:45 +03:00

15 lines
783 B
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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