JavaScript运算符补充知识


补充知识

模板字符串

使用模板字符串可以让代码更简洁 不用使用+号进行拼接 ``模板字符中 &{里面写js表达式}

 console.log(`我叫${user.name},今年${user.age}岁了,性别是${user.gender},目前${user.age >= 18 ? "已成年" : "未成年"}`);

类型转换不会影响原本的数据

var x ='1';
var y =x+2;
console.log(x ,typeof x);
结果:1 string

复合的赋值运算符

+= -= /= *= %= **=
如下

var x = 2;
    x += 3; // 等同于 x = x + 3;
    x *= 1 + 2; // 等同于 x = x * (1 + 2);
    x *= x++ + 2; // 等同于 x = x * (x++ + 2);

逗号运算符

写法:表达式1, 表达式2

依次运行两个表达式,返回表达式2

逗号运算符的优先级比赋值更低

详解逗号运算符

var x = 1;
    x = (x++ * 2, x++ * 2, x++ * 2);
    console.log(x);

    // 注意: 每个表达式的赋值会被记录 
    // 输出结果为6

void 运算符

一元运算符

写法:

  1. 普通写法: void 表达式
  2. 函数写法: void(表达式)

运行表达式,然后返回undefined

console.log(void 1);        // 结果:undefined
console.log(void true);     // 结果:undefined
console.log(void (1 + 2));  // 结果:undefined 
console.log(void 1 + 2);    // 结果:NaN  原因:void 1 优先级比较高所以先执行得到 undefined转数字=NaN+2   所有数和NaN相加都等于NaN

typeof 运算符

一元运算符

写法:

  1. 普通写法: typeof 表达式
  2. 函数写法: typeof(表达式)
    console.log(typeof 1 + 2); //结果:number2 原因 因为typeof优先级比较高所以先执行了typeof 1=number +2=number2
    console.log(typeof (1 + 2));//结果:number
    
    typeof运算,返回表达式的类型,是一个字符串。

文章作者: overwhat
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 overwhat !
评论
  目录