createArrayByBakticks
используется в качестве так называемой функции тега.Первым аргументом, переданным функции, является массив, содержащий все строки литерала шаблона.
Если вы углубитесь в спецификацию языка, раздел 12.2.9.3 , тогда вы увидите следующеешаг выполняется после создания массива:
Выполнить SetIntegrityLevel (шаблон, «заморожено»).
Это означает, что в вашем случае obj
заморожено и никакие свойства не могут быть добавлены.Вот почему вызов push
не работает.
Вы можете подтвердить это, позвонив console.log(Object.isFrozen(backtickArray))
.