代码CR:空白字符判空(不是null)操作,??和||运算符的用法,解构内容

判断空白字符串(是’ '不是null)

// 正常判空
this.email === ''
// 用非判断!
!this.email
// 用length判断
this.email.length>0

??和||运算符

(1)??: 当左边是null或者undefined时候才会走右边;
(2)||: 左边是boolean类型,当左边是false的时候才会走右边;
任何假值(0, ’ ‘, NaN, null, undefined)都认为是false;这导致如果你使用0,’ '或NaN作为有效值,就会出现不可预料的后果;

// ??,默认为空,如果返回值是null 或者undefined时
this.conFirmObject = _content ?? '';
// || 默认为空,如果返回值是false时,如(0, ' ', NaN, null, undefined)情况都是false
this.conFirmObject = _content || '';

解构

(1)解构里面‘:’,后面直接写名字的话是重命名;如果后面继续写大括号是继续解构;
(2)解构里面‘=’,是赋值的意思,给这个变量赋一个默认值

// 解构重命名
const { content: _content } = this.invoiceMsg;
this.conFirmObject = _content ?? '';
// 继续解构该层的下一层
const { content: { rtn_flag } } = data;
rtn_flag === '9999' ? 1 : 2;

你可能感兴趣的:(代码CR问题,前端)