1.加法操作符+
如果有任一操作数是NaN,则返回NaN。 如果是Infinity加Infinity,则返回Infinity。 如果是-Infinity加-Infinity,则返回-Infinity。 如果Infinity加-Infinity,则返回NaN。 +0加+0,则返回+0。 -0加+0,则返回+0。 -0加-0,则返回-0。 如果有一个操作数是字符串 (1)如果两个操作数都是字符串,则将第二个字符串拼接到第一个字符串后面。 (2)如果只有一个操作数是字符串,则将另一个操作数转换成为字符串,再将两个字符串拼接在一起。 如果有任一操作数是对象、数值或布尔值,则调用他们的toSting()方法以获取字符串,然后在应用前面的关于字符串的规则。对于undefined和null,则调用String()函数,分别获取"undefined"和"null"。
let num1 = 5 ;
let num2 = 5 ;
let str1 = "the sum of 5 + 5 is" + num1+ numn2;
let str2 = "the sum of 5 + 5 is" + ( num1+ numn2) ;
console. log ( str1) ;
console. log ( str2) ;
2.减法操作符-
如果有任一操作数是NaN,则返回NaN。 如果是Infinity减Infinity,则返回NaN。 如果是-Infinity减-Infinity,则返回NaN。 如果Infinity减-Infinity,则返回 Infinity。 如果-Infinity减Infinity,则返回 -Infinity。 +0减+0,则返回+0。 +0减-0,则返回-0。 -0减-0,则返回+0。 如果有任一操作数是字符串、布尔值、null或者undefined,则先在后台使用Number()将其转换为数值,然后再根据前面的规则执行数学运算。 如果有任一操作数是对象,则调用其valueOf()方法取得他的数值。如果对象没有valueOf()方法,则调用其toString()方法,然后再将得到的字符串转换成为数值。
let result1 = 5 - true ;
let result2 = NaN - 1 ;
let result3 = 5 - 3 ;
let result4 = 5 - "" ;
let result5 = 5 - "2" ;
let result6 = 5 - null ;