В чем причина использовать === вместо == с typeof в Javascript?

Во многих сторонних библиотеках и блогах / рекомендациях по передовой практике и т. д. часто встречается такой синтаксис:

typeof x === 'object' (instead of typeof x == 'object')
typeof y === 'string' (instead of typeof x == 'string')
typeof z === 'function' (instead of typeof x == 'function')

Если оператор typeof уже возвращает строку, Зачем нужно вводить и проверять возвращаемое значение? Если typeof (typeof (x)) всегда является строкой , независимо от того, что x на самом деле, тогда == должно быть достаточно, а === не нужно.

При каких обстоятельствах typeof не возвращает строковый литерал? И даже если есть какой-то второстепенный случай, почему используется дополнительная проверка типа для объекта, строки, функции и т. Д.

24
задан Eric P 27 September 2010 в 13:00
поделиться