Следующее, как и следовало ожидать, не работает:
let User = {
foo() {
User.prop = 1;
}
};
let User2 = User;
User = null;
User2.foo(); // Cannot set property of null
console.log(User2.prop);
Это работает, хотя:
class User {
static foo() {
User.prop = 1;
}
}
let User2 = User;
User = null;
User2.foo();
console.log(User2.prop); // 1
Поскольку функции и классы являются объектами, и в обоих случаях яустановить свойство для этого, почему результаты отличаются?Где он получает User
ссылку?