Когда я запускаю этот код в Chrome, я получаю Uncaught TypeError: Cannot read property 'concat' of undefined
function _log()
{
'use strict'
[this].concat(Array.from(arguments)).forEach(
function (obj) { console.log(obj) }
)
}
_log('foo', 'bar');
Я не понимаю, почему это происходит. Как можно [this]
быть неопределенным? Даже если this
не определены, [this]
все равно должен быть массивом, не так ли?
Забавная деталь заключается в том, что когда я удаляю строку use strict
из функции, ошибка исчезает, и код ведет себя так, как ожидалось, регистрируя контекст функции и аргументы каждый в новой строке.
Может быть, есть что-то особенное в использовании ключевого слова this
в строгом режиме, о котором я не знаю?
Спасибо.