Кажется, что конструктор Function
, но один из другого царства.
Если запустить этот код
console.log(Object.getOwnPropertyNames(setTimeout.constructor.prototype));
вы получите массив с типичными Function.prototype
методами, как call
, apply
и bind
.
Так что я предполагаю, что это несколько аналогично тому, что происходит в веб-браузерах, когда вы занимаете setTimeout
из фрейма:
var iframe = document.createElement('iframe');
document.body.appendChild(iframe);
var win = iframe.contentWindow;
console.log(win.setTimeout instanceof Function); // false
console.log(win.setTimeout instanceof win.Function); // true
Конструктор ** есть ** функция. Попробуйте 'typeof setTimeout.constructor' – undefined
Я знаю его * функцию *, я спрашиваю, какую функцию –
Использование версии узла 6.5.0, 'Function.prototype.check = true; console.log (setTimeout.check); ' prints true for me – Sergeon