
见过!! javascript 代码中并想知道发生了什么?让我们简单地分解一下。
双感叹号 (!!) 是将任何值转换为布尔值(true 或 false)的快速方法。就这么简单!
把它想象成问 javascript:“嘿,这个值是否存在并且有意义吗?”
让我们看一些简单的例子:
// these become true
!!42 // true (any number except 0)
!!"hello" // true (any non-empty string)
!!{} // true (any object)
!![] // true (any array)
// these become false
!!0 // false
!!"" // false (empty string)
!!null // false
!!undefined // false
function validatename(name) {
if (!name) { // same as if (!!name === false)
return "please enter your name";
}
return `thanks, ${name}!`;
}
validatename("") // "please enter your name"
validatename("sarah") // "thanks, sarah!"
function handleresponse(data) {
const hasdata = !!data?.items?.length;
if (hasdata) {
return "found some results!";
}
return "no results found";
}
handleresponse({items: []}) // "no results found"
handleresponse({items: [1,2,3]}) // "found some results!"
!!在以下情况下特别有用:
立即学习“Java免费学习笔记(深入)”;
这些都是使用 !! 时变为 false 的值:
凡诺企业网站管理系统是一个采用asp+access进行开发的asp企业网站源码。 十年企业建站老品牌值得信赖 凡诺企业网站管理系统后台功能简介: 1.无限级频道设置,自主指定频道类型。 2.完善的信息发布设置。 3.独立幻灯片设置 4.会员、留言、订单、评论、连接、内链一应俱全。 后台登陆地址:/admin/index.asp 管理员
0
其他一切都成真!
在 if 语句中,javascript 会自动将值转换为布尔值,因此:
if (!!username) {
// do something
}
等同于:
if (username) {
// do something
}
一些开发人员更喜欢使用 boolean(),因为它更明显发生的事情:
Boolean("hello") // true
Boolean("") // false
!!("hello") // true
!!("") // false
两者的工作方式完全相同 - 使用对您更有意义的那个!
记住:最好的代码是您的团队可以轻松理解的代码。不管你用不!!或 boolean(),只要保持一致即可!
以上就是理解 !! JavaScript - 简单指南的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号