Обратите внимание, я не смог воспроизвести это поведение в Chrome или Firefox, только в Safari.
Допустим, у меня есть функция с двумя возможными случайно выбранными возвращаемыми значениями: { foo: 'test' }
и { bar: 'test' }
.
function getObj() {
console.log('This code has been executed.');
if (Math.random() > 0.5) {
return { foo: 'test' };
} else {
return { bar: 'test' };
}
}
Когда я набираю вызов функции , но не нажимаю «ввод» , предсказания Safari могут по-прежнему делать предположения о возвращаемом значении. Иногда он видит одно возвращаемое значение, иногда он видит другое.
Иногда один:

Иногда другие:
Очевидно, что просто набрав вызов функции, я не вызываю функцию , как я понимаю , и я не вижу console.log, говорящий «Этот код был выполнен». Как Safari это сделать?