js 如何一句话同时判断 undefined null 空 ?

现在我判断 变量是否有效是通过如下的方式(也就是 undefined null '' 各判断一次 ):

if( (this.$route.query.openid != undefined || this.$route.query.openid != null || this.$route.query.openid != '' ) && window.localStorage.getItem('openid') != '')

{

      ......

 }

想问下 JS 或者 Vue 或者 ES 中有没有什么方法能一次性直接判断变量是否有效?


慕桂英546537
浏览 2596回答 7
7回答

守着星空守着你

就用if就可以了 if (this.$route.query.openid) 就一定不为空了。

江户川乱折腾

单就你的问题来说 if ([null, undefined, ''].indexOf(this.$route.query.openid) > -1)或者也可以使用[].includes

炎炎设计

如题仅判断undefined null ''的话,题主的代码有误,最后一个!=应改为!==。其次null==undefined(且不==其他任何值)前两个仅需保存一个。如果只是3种,则不能通过!!flag或if(flag)判断,会发生隐式类型转换,比如0、false、NaN。

梦里花落0921

!!this.$route.query.openid

慕娘9325324

var o = {    a: undefined,    b: null,    c: ''}function isEmpty (t) {    return !t;}isEmpty(o.a);    // trueisEmpty(o.b);    // trueisEmpty(o.c);    // trueps 不要自己写判断 能lodash就lodash

天涯尽头无女友

const nullReg = /^(undefined|null|)$/;if(!nullReg.test(this.$route.query.openid) && !nullReg.test(window.localStorage.getItem('openid'))) {  ...}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript