2
我有以下代碼(簡化討論起見):UglifyJS改變代碼bahaviour
var a = 1;
var b = [];
if (checkIfAisOne(a)) {
b = ['something']
}
console.log(b);
//['something']
然後有一個咕嚕醜化任務使這一代碼轉換成這樣:
checkIfAisOne(a) || (b = ['something']), console.log(b);
// []
由於表達式的第一部分爲真,因此第二部分(在||
之後)未執行,因此b
保持不變。
所以,簡化代碼顯示不同於非簡化代碼的輸出。
這是一個已知的問題嗎?一個錯誤?如何防止,是否有任何選項/設置來解決這個問題?
請提供[MCVE。這些應該是等同的。也許缺少的分號與它有關。 –
@ DanielA.White不應該是'&&'而不是'''? –
我期望這裏有一個三元運算符.. – Pogrindis