我的编程空间,编程开发者的网络收藏夹
学习永远不晚

详解JavaScript (!!) 中的双感叹号是干什么用的

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

详解JavaScript (!!) 中的双感叹号是干什么用的

JavaScript (!!) 中的双感叹号是干什么用的?

如果您曾在某人的 JavaScript 代码中注意到双感叹号 (!!),您可能会好奇它的用途和作用。这很简单:这是一种将变量转换为布尔值(真或假)的捷径。让我解释。

 typeof JavaScript!= '静态'

JavaScript 不是静态语言,而是动态语言。这意味着变量可以引用或保存任何类型的值,此外,该类型可以随时更改。无论您喜欢静态语言还是动态语言,都由您决定。

但是,我们当然可以对 JavaScript 中的类型有所了解。以下是 JavaScript 中各种数据类型的快速列表:

  • 布尔值
  • 细绳
  • 数字
  • 目的

布尔数据类型是所有数据类型中最简单的,因为它是单个位值:0(假)或 1(真)。

真与真

我们可以将变量设置为布尔值,并在评估 if 语句时使用它。这是我们的简单示例。

 功能() {  
 var thisIsTrue = true;  
 如果(thisIsTrue){  
 window.alert('当然是!');  
 }  
 }

执行上述函数时,我们将收到警报 那当然是! 因为变量 这是真实的 被设置为布尔值 真的 .

现在,让我们看看 JavaScript 如何评估非布尔值以将其转换为布尔值。

 功能() {  
 无变量 = '';  
 如果(什么都没有){  
 window.alert('没什么');  
 } 别的 {  
 window.alert('嗯?');  
 }  
 }

执行上述函数时,我们将收到警报 嗯? 因为变量的值 没有什么 被评估为假。这就是通常所说的 真相 相对 谬误 .

JavaScript 认为以下值是假的:

  • 很多时候: “”
  • 0
  • 无效的
  • 不明确的

JavaScript 认为以下值为真:

  • 目的: {}
  • 种类: []
  • 非空字符串: “任何事物”
  • 非零数: 3.14
  • 日期: 新日期();

运行您的代码的 JavaScript 引擎将在必要时尝试将值转换(或强制)为布尔值,例如在 if 语句中求值时。

那么为什么要双感叹号呢?

在某些情况下,您可能希望将变量强制转换为显式布尔值。因为?嗯,第一个原因是大多数时候开发人员不使用类型安全的比较运算符。

类型安全的比较运算符是:

  • 严格相等: ===
  • 严格不相等: !==

使用类型安全的比较运算符时,您正在检查值是否相等(或不相等)以及类型是否相同。如果没有类型安全的比较运算符,您将允许 JavaScript 引擎根据真/假逻辑自由地强制您的变量为真或假。

要将 JavaScript 变量转换为布尔值,只需使用两个感叹号:

功能() {  
 var name = '布赖恩'; //警报'字符串'  
 window.alert(类型名称); //转换为布尔值  
 var bool = !!name; //警报'布尔'  
 window.alert(bool 类型);  
 }

在上面的示例代码中,我们正在转换字符串 “布赖恩” 为了一个值 布尔值 .所以第二个警报将表明该变量现在是 布尔值 勇气。

由 Brian F Love 的博客免费翻译,您可以在此处访问原始文章: https://brianflove.com/2014-09-02/whats-the-double-exclamation-mark-for-in-javascript/

到此这篇关于JavaScript (!!) 中的双感叹号是干什么用的?的文章就介绍到这了,更多相关JavaScript (!!) 双感叹号内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

详解JavaScript (!!) 中的双感叹号是干什么用的

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

JavaScript中三等号和双等号的区别是什么

这篇文章给大家分享的是有关JavaScript中三等号和双等号的区别是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。三等号和双等号的区别// 双等号 - 将两个操作数转换为相同类型,再比较 console.l
2023-06-27

php中双冒号的用法是什么

在PHP中,双冒号指的是作用域限定操作符,可以用于访问静态成员,也就是用变量将类表示出来,再用双冒号在类的外部访问其中的静态成员,语法为“test::$静态属性”或“test::静态方法”。
2014-08-06

java中双引号的作用是什么

在Java中,双引号(`""`)用于表示字符串文字。它们的作用是将其中的文本视为字符串对象。双引号的主要作用如下:1. 字符串文字:双引号用于创建包含任意文本的字符串文字。例如,`String message = "Hello, World
2023-08-22

javascript当表单中RESET的属性被激发时触发此事件使用什么函数,详细讲解

当表单中的重置按钮被点击时,可以使用JavaScript的reset事件侦听器触发重置事件。此事件侦听器通过form.addEventListener("reset",myFunction)函数调用,其中myFunction是在事件触发时执行的函数。重置事件侦听器中的函数可以访问event参数,获取有关事件的信息。防止默认表单提交行为需要调用event.preventDefault()方法。在重置事件中,可以执行各种操作,如清空表单、重新加载页面或发送服务器请求。
javascript当表单中RESET的属性被激发时触发此事件使用什么函数,详细讲解
2024-04-02

javascript当浏览者粘贴系统剪贴板中的内容时通知目标对象使用什么函数,详细讲解

当用户从剪贴板粘贴内容时,JavaScript的addEventListener()方法可用于为目标元素绑定paste事件监听器。监听器函数接收一个事件对象,其中包含剪贴板数据和触发元素。通过clipboardData对象,可以获取或设置文本和图像数据。示例展示了如何在文本输入框中使用paste监听器来提取剪贴板中的文本数据并将其显示在另一个元素中。需要注意安全限制和浏览器兼容性问题。扩展功能包括阻止特定粘贴操作、转换数据格式和执行自定义操作。
javascript当浏览者粘贴系统剪贴板中的内容时通知目标对象使用什么函数,详细讲解
2024-04-02

javascript浏览器的停止按钮被按下时触发此事件或者正在下载的文件被中断使用什么函数,详细讲解

当用户点击浏览器停止按钮或中断文件下载时,JavaScript会触发特定事件。停止按钮事件(window.onbeforeunload)允许开发者:询问用户是否离开页面保存未保存的数据返回字符串提示用户确认停止操作文件下载中断事件(XMLHttpRequest.onabort)允许开发者:显示下载中断消息重新启动下载事件处理最佳实践包括:用户确认数据保存错误处理轻量级操作一致性
javascript浏览器的停止按钮被按下时触发此事件或者正在下载的文件被中断使用什么函数,详细讲解
2024-04-02

javascript内容将要从浏览者的系统剪贴板传送[粘贴]到页面中时触发此事件使用什么函数,详细讲解

当内容即将从浏览器剪贴板粘贴到页面时,可以使用navigator.clipboard.readText()函数触发事件。此函数允许读取剪贴板的文本内容。它需要浏览器的支持和用户的权限,可以通过async方法请求。若权限被授予,则函数返回一个Promise,包含读取的文本内容。支持因浏览器而异,因此需要检查兼容性。用户可以拒绝访问权限,处理此可能性很重要。
javascript内容将要从浏览者的系统剪贴板传送[粘贴]到页面中时触发此事件使用什么函数,详细讲解
2024-04-02

javascript当页面中的一部分或者全部的内容将被移离当前页面[剪贴]并移动到浏览者的系统剪贴板时触发此事件使用什么函数,详细讲解

JavaScript中用于在页面内容被剪切时触发的事件是copy事件。该事件可在可拷贝元素上监听,如或。copy事件对象包含剪切文本、防止剪切或停止冒泡等信息。通过监听copy事件并处理事件对象,开发者可以实现自定义剪切行为,如阻止某些内容剪切或显示剪切消息。请注意,copy事件在用户选择文本或使用键盘快捷键剪切时不会触发。
javascript当页面中的一部分或者全部的内容将被移离当前页面[剪贴]并移动到浏览者的系统剪贴板时触发此事件使用什么函数,详细讲解
2024-04-02

编程热搜

目录