[英]Programmatically check in runtime whether variable is const in JavaScript?
是否有可能在運行時以編程方式知道變量在 JS 中是否為 const?
例如:
const a = {};
const b = 5;
var c = {};
var d = 6;
var e = a;
var f = b;
var g = c;
var h = d;
isConst(a); // true
isConst(b); // true
isConst(c); // false
isConst(d); // false
isConst(e); // false
isConst(f); // false
isConst(g); // false
isConst(h); // false
我什至不知道如何解決這個問題,假設我不想使用外部工具(來自 JS 運行時環境之外),或者類似 eval() 的東西。
也許可以通過 JavaScript 的Proxy()
或Reflect()
以某種方式實現?
如果沒有在不對檢查的代碼/模塊/函數/塊本身進行更改的情況下確定是否為 const 的解決方案,我也許可以接受需要對代碼/函數進行一些裝飾性/包裝修改的解決方案。
也許是解析包含 function 主體的字符串化文本的Function()
原型字段的東西?
也許我們可以在這里利用異常? 例如,捕獲當您嘗試操作常量變量時引發的異常,並使用它來了解情況?
只要您將原始值移交給 function 或另一個變量,您就會得到這個值而不是變量,這是一種聲明。
為了得到想要的,Javascript 需要每個類型的實現來檢查可變性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.