网站首页 > 技术文章 正文
最近在前端vue工程开发中看到一个js用法,对js初学者来说这是一个容易混淆的地方,趁此机会研究研究!!的用法。
if (!!getItem('Authorization')) {
console.log('已登录')
}
1、!的用法
!可将变量转换成布尔类型,对null、undefined和空字符串取反后均为true,对于非空字符串或非null对象,执行!运算后则为false,例如:
!null = true;
!undefined = true;
!'' = true;
!'wang' = false;
2、!!的用法
知道了!用法,!!就好理解啦,其实就是取非后再取非,常常用来做非空判断。!!常常可以简化代码,例如下面判断变量val为非null,未定义或者非空串才能执行方法体。
复杂写法:
var val;
if(val!=null&&typeof(val)!=undefined&&val!=''){
console.log('执行...');
}
利用!!只需要写一个判断表达:
if(!!val){
console.log('执行...');
}
两种写法达到的效果相同,val是有实际含义的变量才执行if内容,否则变量是null、undefined或''时都不会执行以下if代码块。综上所述!可以与变量进行逻辑与运算,然后转换为布尔值,!!正是这种运算的一个很好运用,使js在判断变量类型时变得高效。
- 上一篇: JavaScript中三个点(...)是什么意思?
- 下一篇: 在前端中对象后面常跟的?.是什么意思
猜你喜欢
- 2024-10-16 JS中(a==1 && a==2 && a==3)可以在JavaScript中计算为“true”吗?
- 2024-10-16 JavaScript 的这个难点,毁掉了多少程序员
- 2024-10-16 前端开发之彻底搞懂this指向(前端this指向问题)
- 2024-10-16 JavaScript中的变量声明和作用域(一)
- 2024-10-16 Top 26 JavaScript面试问题和答案
- 2024-10-16 JS 经典实例知识点整理汇总【实践】
- 2024-10-16 苦恼于JavaScript中的reduce函数?五分钟讲透彻
- 2024-10-16 前端基础:JavaScript(前端基础题)
- 2024-10-16 一句话彻底理解JS中的回调(Callback)函数
- 2024-10-16 面试中被问到最多的 19 个 JavaScript 问题
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)