Добавьте две переменные в javascript эффективно - PullRequest
0 голосов
/ 06 августа 2020

Есть ли эффективный способ добавить две переменные a и b, когда они могут быть динамическими c? Мне также нужно проверить, являются ли их типы числами. Я думаю, что описанный ниже способ - не лучший / современный способ реализовать это. Пожалуйста, помогите.

EDIT

Я также хочу убедиться, что если одна из переменных не является числом (или null), тогда переменная C получит свое значение из переменной, которая является числом. Как мне это сделать?

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 ]

2 голосов
/ 06 августа 2020

Вы можете просто проверить с помощью typeof и использовать логический оператор или для преобразования NaN в 0.

if(typeof a ==='number' && typeof b === 'number'){
   c = (a || 0) + (b || 0);
}

Чтобы также разрешить недопустимые значения обрабатывать как 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)
1 голос
/ 06 августа 2020

Думаю, вы ищете

const c = (typeof a == 'number' ? a : 0)
        + (typeof b == 'number' ? b : 0);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...