Блекс указал, что для того, чтобы это работало, вам нужно заключить объект в скобки:
tahoe = ({
resorts: ["Kirkwood","Squaw","Alpine"],
print: function(delay=1000) {
setTimeout(() => {
console.log(this.resorts.join(", "))
}, delay)
}
})
Рабочий фрагмент .
Чтобы получить более полное объяснение, почему это так, см. Этот пост в блоге, в котором описаны различия между Observable и vanilla javascript:
Требуются заявления фигурные скобки и return (или yield). Тело ячейки может быть простым выражением, например, числовым или строковым литералом, или вызовом функции. Но иногда вам нужны операторы, например, для циклов. Для этого вам понадобятся фигурные скобки и оператор return, чтобы дать ячейке значение. Думайте о ячейке как о функции, за исключением того, что у функции нет аргументов. По той же причине вам нужно будет обернуть литералы объекта в круглые скобки или использовать оператор блока с возвращаемым значением.
Существует также (довольно трудно увидеть) виджет волшебной палочки c, который появляется рядом со значком кнопки воспроизведения для ячейки, которая автоматически устранит эту проблему, если щелкнуть ее: