我试图理解为什么当用var声明权限时,变量‘Permises’的类型是‘Function’,而当用let声明时,变量的类型是‘Object’(这是例外行为)
With‘var’-权限类型为‘Function’
var Permissions;
(function (Permissions) {
Permissions[Permissions["ADMIN"] = 0] = "ADMIN";
Permissions[Permissions["READ_ONLY"] = 1] = "READ_ONLY";
})(Permissions || (Permissions = {}));
console.log(typeof Permissions);
WITH‘let’-权限类型为‘Object’
let Permissions;
(function (Permissions) {
Permissions[Permissions["ADMIN"] = 0] = "ADMIN";
Permissions[Permissions["READ_ONLY"] = 1] = "READ_ONLY";
})(Permissions || (Permissions = {}));
console.log(typeof Permissions);
我认为这两种情况都是"对象".为什么使用‘var’权限是‘Function’类型?