是否有一種有效的方法來(lái)添加兩個(gè)變量a以及b它們何時(shí)可以是動(dòng)態(tài)的?我還需要檢查它們的類型是否是數(shù)字。我認(rèn)為我在下面描述的方式不是實(shí)現(xiàn)此目的的最佳/現(xiàn)代方式。請(qǐng)幫忙。編輯我還想確保如果一個(gè)變量不是數(shù)字(或null),那么該變量C從變量中獲取其值,即數(shù)字。我該怎么做?const a;const b;let c;// variables a and b are dynamic and could be null.if(typeOf(a)==='number' && typeOf(b)==='number'){if(!a && b){c=b}if(a && !b){c=a}if(a && b){c=a+b}}
2 回答

慕絲7291255
TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊
您可以簡(jiǎn)單地檢查typeof
并使用邏輯或運(yùn)算符轉(zhuǎn)換NaN
為0
.
if(typeof a ==='number' && typeof b === 'number'){ c = (a || 0) + (b || 0); }
為了也允許將無(wú)效值視為 0,您可以使用:
c = (typeof a === 'number' ? (a || 0) : 0) + (typeof b === 'number' ? (b || 0) : 0)
也可以這樣寫:
c = (typeof a === 'number' && !isNaN(a) ? a : 0) + (typeof b === 'number' && !isNaN(b) ? b : 0)

瀟瀟雨雨
TA貢獻(xiàn)1833條經(jīng)驗(yàn) 獲得超4個(gè)贊
我想你在找
const c = (typeof a == 'number' ? a : 0) + (typeof b == 'number' ? b : 0);
添加回答
舉報(bào)
0/150
提交
取消