2014-01-23 10 views

ответ

13

+ - operator, это не функция. Поэтому typeof + является синтаксической ошибкой.

+3

Хотя этот ответ является идеальным, это приводит к другому вопросу: не было бы хорошо, если '+' ** были ** функцией ... 'var total = list.reduce (+, 0) '. Или даже приятнее, если бы у нас было автоматическое currying/partial application, и мы определили 'reduce = function (fn, start, list)', чтобы мы могли просто сделать sum = reduce (+, 0) '. Нет, это просто ** [сумасшедший] (http://en.wikipedia.org/wiki/Functional_programming) ** ** [talk] (http://www.haskell.org/haskellwiki/Haskell) **! –

+0

yep, после игры с haskell и схемой, поскольку javacript был представлен мне как нечто похожее на них, я надеялся на это. По-видимому, я был введен в заблуждение. – user1544128

+0

@ user1544128, JavaScript имеет много общего с языками lisp, но это не один из них. – rid

2

typeof возвращает типы объектов (pretty much everything in JS) и примитивы.

См. MDN documentation за typeof.

Как исключить очки, + является оператором, а не объектом или примитивом.

Смежные вопросы