簡體   English   中英

一行檢查屬性是否存在並有條件地設置它?

[英]One line check if property exists and conditionally set it?

如果可能的話,我想在一行中重寫此代碼:

//Obj is my mystery object - I don't know whether or not property x exists, but if it does, I want to set it!

if (Obj.x) {
   Obj.x = (Obj.x > 0) ? Obj.x++ : Obj.x--;
}

一種可能的方式:

Obj.x && (Obj.x = Obj.x > 0 ? Obj.x++ : Obj.x--);

還是不太理想:

Obj.x = Obj.x ? Obj.x > 0 ? Obj.x++ : Obj.x-- : Obj.x;

FWIW ,您的情況有點奇怪,因為您要進行后遞增(和遞減)操作,這會修改值,但會立即將初始值保存回變量,因此值不會更改。 您最好不要將值保存回來:

Obj.x && (Obj.x > 0 ? Obj.x++ : Obj.x--);

或不同地做:

Obj.x && (Obj.x = Obj.x > 0 ? Obj.x + 1 : Obj.x - 1);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM