JS骚写法

一、?.、??、??=的用法和含义

1 可选链(?.)

let a;
let b = a.name;

会报错,因为undefined和null是两个比较特殊的数据类型,是不能用点操作符去访问属性的。可以这么写:

let b = a?.name;

注意:vue dom绑定时 {{}} 内不支持该写法

2 空值合并运算符(??)

let a = 0;
let b;
let c = { name:'xiaoming' }
b = a ?? c;

当a不是undefined、null的时候,b等于a,否则等于c

3 空值赋值运算符(??=)

let a = 0
let b = '你好';
let c = null;
let d =123‘
b ??= a;  // b = “你好”
c ??= d  // c = '123'

当??=左侧的值为null、undefined的时候,左侧变量=右侧变量的值,否则不变

二、|| 和&&(替换if else)

在这里插入图片描述
在这里插入图片描述

三、||取值(代替switch)

var b = 4;
var a = (b === 0 && 1) || (b === 1 && 2) || 3; // 3
相当于
switch(b) { 
	case 0: 
		a = 1;
	 	break; 
	case 1: 
		a = 2; 
		break; 
	default: 
		a = 3; 
		break; 
}

四、“~”(按位非)简化表达式

按位非操作符由一个波浪线(~)表示,按位非就是求二进制的反码。不管什么值使用了这个运算符,结果总是一个数字。按位非运算符,简单的理解就是改变运算数的符号并减去1

~5 //-6
~0 //-1
~-2 //1
~true //-2 这里true被强转为1
~null	//null被强转为0
~undefined //-1 这里undefined被强转为0

五、字符串互换

var a = 2,b = 'Miya';
[a,b,] = [b,a,]
a // Miya
b //2

六、+转数字

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值