迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 > JavaScript >

JavaScript 中的感叹号运算符

作者:迹忆客 最近更新:2024/03/19 浏览次数:

本教程将介绍 JavaScript 中逻辑非(!)运算符的行为和使用。

!运算符将操作数转换为布尔值并返回转换后的值的倒数。


语法

inverse = !expression

当我们应用!运算符到假值的时候,我们得到 true 作为结果。虚假值包括 - false0-00n""nullundefinedNaN

当我们应用!运算符到真值,我们得到作为结果。除了提到的虚假值之外,所有值都是真实值。

示例 1

// boolean values
console.log('!true =>', !true);    // returns false
console.log('!false =>', !false);  // returns true

输出:

!true => false
!false => true

在上面的代码中,

  • 应用!运算符为 true 值,返回 false
  • 应用!运算符为 false 值,则返回 true

示例 2

// string values
console.log('!(\'\') =>', !(''));                             // returns true
console.log('!(\'truthy_string\') => ', !('truthy_string'));  // returns false

输出:

!('') => true
!('truthy_string') => false

在上面的代码中,

  • 应用!运算符为空字符串(空字符串表示假值),返回 true
  • 应用!运算符对非空字符串(非空字符串表示真值),返回 false

示例 3

// number values
console.log('!0 => ', !0);      // returns true
console.log('!100 => ', !100);  // returns false

输出:

!0 => true
!100 => false

在上面的代码中,

  • 应用!运算符到 00 表示假值),返回 true
  • 应用!运算符到 100(非零值表示 truthy 值),返回 false

示例 4

console.log('!null => ', !null);            // true
console.log('!undefined => ', !undefined);  // true
console.log('!NaN => ', !NaN);              // true

输出:

!null => true
!undefined => true
!NaN => true

我们已经应用了!运算符为假值。对于所有情况,我们得到了真实的结果。

示例 5

function returnsTruthyValue() {
  return 100;
}

function returnsFalsyValue() {
  return 0;
}
// apply ! to the return value
console.log('!returnsTruthyValue() =>', !returnsTruthyValue());  // false
console.log('!returnsFalsyValue() =>', !returnsFalsyValue());    // true

输出:

"!returnsTruthyValue() => false
"!returnsFalsyValue() => true

在上面的代码中,我们创建了两个函数。

  1. returnsTruthyValue 函数将返回 100(真实值)。
  2. returnsFalsyValue 函数将返回 0(假值)。

当我们在函数调用中应用!时,!将应用于函数返回的值。 !returnsTruthyValue() 将适用 !运算符到 returnsTruthyValue 函数返回的值。所以,

  • returnsTruthyValue() 函数应用!运算符,将返回 false
  • returnsFalsyValue() 函数中使用!运算符将返回 true

JavaScript 中的双非运算符!!

!!运算符将为真值返回 true,为假值返回 false。此运算符用于将值转换为布尔值。


语法

!!expression

!!将执行两个操作。

  1. 将表达式的值转换为布尔值并对其应用逆运算。
  2. 同样,逆向应用于该值。

例子

console.log('!!true =>', !!true)  // true
console.log('!! 0 =>', !!0)       // false

输出:

!!true => true
!! 0 => false

在上面的代码中,

  • !!运算符应用于 true,它将首先将 true 转换为 false,然后再次将 false 转换为 true
  • !!运算符应用于 0,它将首先将 0 转换为布尔值(0 转换为 false)并对其应用逆运算(现在该值将是 true)。然后再一次,将反转应用于先前反转的值(现在该值将是 false)。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

JavaScript 删除特殊字符

发布时间:2024/03/19 浏览次数:187 分类:JavaScript

本教程介绍如何使用带有和不带有 jQuery 的 JavaScript 从字符串中删除特殊字符。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便