文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-04-02 19:55

关注

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

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

 typeof JavaScript!= '静态'

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

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

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

真与真

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

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

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

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

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

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

JavaScript 认为以下值是假的:

JavaScript 认为以下值为真:

运行您的代码的 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

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-前端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯