All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.sonar.l10n.javascript.rules.javascript.S3002.html Maven / Gradle / Ivy

The unary operators + and - can be used to convert some value types to numeric values. But not every value can be converted to a Number type: use it with an object, and result will be always NaN (Not A Number).

Noncompliant Code Example

var obj = {x : 1};
doSomethingWithNumber(+obj);    // Noncompliant

function foo(){
  return 1;
}
doSomethingWithNumber(-foo);    // Noncompliant

Compliant Solution

var obj = {x : 1};
doSomethingWithNumber(+obj.x);

function foo(){
  return 1;
}
doSomethingWithNumber(-foo());

var str = '42';
doSomethingWithNumber(+str);

Exceptions

Unary + and - can be used with objects corresponding to primitive types.

var b = new Boolean(true);
doSomethingWithNumber(-b);  // Compliant




© 2015 - 2025 Weber Informatics LLC | Privacy Policy