Вы забыли точку с запятой, поэтому интерпретатор видит ваш код следующим образом:
Array.prototype.bublleSort = function() {
console.log(this)
}[1, 23, 4].bublleSort()
Он использует оператор запятой в скобках, но у функций нет такого свойства, как 4
:
Array.prototype.bublleSort = function() {
console.log(this)
}[4].bublleSort()
упрощается до
<someFunction>[4].bublleSort()
Но функции не имеют свойства 4
.
Всегда ставьте точки с запятой в конце операторов - не стоит полагаться на автоматическую вставку точек с запятой, слишком легко забыть и столкнуться с ошибками.
Array.prototype.bublleSort = function() {
console.log(this)
};
[1, 23, 4].bublleSort()