直接上代码:
function _const(data, value) {
<!-- 全局window 挂在data -->
window.data = value;
Object.defineProperty(window, data, {
enumberable: false,
configurable: false,
get: function () {
return value
},
set: function(data) {
if (data !== value) {
throw new TypeError("Assagement to constant variable")
} else {
return value
}
}
})
}
<!--测试用例-->
_const("a", { age: 18 })
console.log(a);
a.age = 20
console.log(a);