空值合并运算符??、三元运算符?、isEmpty()判断结果列举

一、合并运算符:??

它只在左的操作数nullundefined返回右的操作数

注意事

  1. ?? 不会false0""(空字符串)或任何其他假值进理。
  2. 如果左的操作数不是nullundefined,将不会的操作数估,遵循短路
  3. 如果左的操作数是nullundefined,将估并返右的操作数。
  4. 如果两个操作数都是nullundefined,返回nullundefined
  5. ??ES2020ES11)引入的新特性使用??需要ES2020(或更高版本)支持。

二.三元运算符

?运算符号Truthy判定

const value1 = null;
  const result1 = value1 ? 'true' : 'false';
  console.log('null ? is ', result1);

  const value2 = undefined;
  const result2 = value2 ? 'true' : 'false';
  console.log('undefined ? is ', result2);

  const value3 = true;
  const result3 = value3 ? 'true' : 'false';
  console.log('true ? is ', result3);

  const value4 = false;
  const result4 = value4 ? 'true' : 'false';
  console.log('false ? is ', result4);

  const value5 = 0;
  const result5 = value5 ? 'true' : 'false';
  console.log('0 ? is ', result5);

  const value6 = 1;
  const result6 = value6 ? 'true' : 'false';
  console.log('1 ? is ', result6);

  const value7 = NaN;
  const result7 = value7 ? 'true' : 'false';
  console.log('NaN ? is ', result7);

  const value8 = '';
  const result8 = value8 ? 'true' : 'false';
  console.log('"" ? is ', result8);

  const value9 = 'abc123';
  const result9 = value9 ? 'true' : 'false';
  console.log('"abc123" ? is ', result9);

  const value11 = [];
  const result11 = value11 ? 'true' : 'false';
  console.log('[] ? is ', result11);

  const value12 = {};
  const result12 = value12 ? 'true' : 'false';
  console.log('{} ? is ', result12);

  const value13 = new Set();
  const result13 = value13 ? 'true' : 'false';
  console.log('new Set() ? is ', result13);

  const value14 = new Map();
  const result14 = value14 ? 'true' : 'false';
  console.log('new Map() ? is ', result14);

三、isEmpty(value)

isEmpty是lodash插件中提供的方法。判断的依据是除非是有枚举属性的对象,length 大于 0 的 arguments object, array, string 或类jquery选择器。

检查 value 是否一个空象,集合,映射或者set 

lodash.isEmpty | Lodash中文文档 | Lodash中文网

 

  console.log('isEmpty(null)', isEmpty(null));
  console.log('isEmpty(undefined)', isEmpty(undefined));
  console.log('isEmpty(true)', isEmpty(true));
  console.log('isEmpty(false)', isEmpty(false));
  console.log('isEmpty(0)', isEmpty(0));
  console.log('isEmpty(1)', isEmpty(1));
  console.log('isEmpty(NaN)', isEmpty(NaN));
  console.log('isEmpty("")', isEmpty(''));
  console.log('isEmpty("abc123")', isEmpty('abc123'));
  console.log('isEmpty([])', isEmpty([]));
  console.log('isEmpty({})', isEmpty({}));
  console.log('isEmpty(new Set())', isEmpty(new Set()));
  console.log('isEmpty(new Map())', isEmpty(new Map()));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值