JavaScript的“true/false && expression”逻辑表达式

true/false && expression

在学习react的过程中,遇到了如下一个方法:

function Mailbox(props) {
  const unreadMessages = props.unreadMessages;
  return (
    <div>
      <h1>Hello!</h1>
      {unreadMessages.length > 0 &&
        <h2>
          You have {unreadMessages.length} unread messages.
        </h2>
      }
    </div>
  );
}

该方法中,定义了一个未读消息unreadMessages数

然后返回一个提醒你还有多少未读消息的一段代码

其中的核心代码:

unreadMessages.length > 0 &&
<h2>
    You have {unreadMessages.length} unread messages.
</h2>

&&左边的表达式判断消息数是否大于0,右边表达式渲染还有多少条未读消息数;

之所以能这样做,是因为在 JavaScript 中

true && expression 总是返回 expression

false && expression 总是返回 false。

如果条件是 true,&& 右侧的元素就会被渲染

如果是 false,React 会忽略并跳过它。

时间: 2024-08-09 19:53:38

JavaScript的“true/false && expression”逻辑表达式的相关文章

Javascript 内置值、typeof运算符、true/false判断

一.内置值 true false null undefined NaN Infinity 二.typeof运算结果 number string boolean undefined function object  (array.) 三.true/false true: 字符串.true.对象 false:

javascript:return false有什么用

Return False 就相当于终止符,Return True 就相当于厉行符: 登陆界面:利用javascript 中的函数对内容进行验证,如果验证成功则进行跳转,验证不成功,不反应. 问题:基本功能,是页面的跳转: <form name="form1" method="post" action="register.jsp" <input type="submit" name="Submit"

console.log(([])?true:false); console.log(([]==false?true:false)); console.log(({}==false)?true:false)

下面是题目的类型转换结果: Boolean([]); //true Number([]); //0 Number({}); // NaN Number(false); //0 因此: console.log(([])?true:fasle);// => console.log((true)?true:false); console.log([]==false?true:false); // => console.log(0==0?true:false); console.log(({}==fa

Javascript 中的false、0、null、undefined和空字符串对象

在Javascript中,我们经常会接触到题目中提到的这5个比较特别的对象——false.0.空字符串.null和undefined.这几个对象很容易用错,因此在使用时必须得小心. 类型检测 我们下来看看他们的类型分别是什么: [html] view plaincopyprint? <script type="text/javascript"> alert(typeof(false) === 'boolean'); alert(typeof(0) === 'number')

JavaScript:undefined!=false之解 及==比较的规则

JS中有一个基本概念就是: JavaScript中undefined==null 但undefined!==null undefined与null转换成布尔值都是false 如果按照常规想法,比如下面的代码 var a=1; alert(Boolean(a));//返回true //那么下面的代码也应该返回true alert(1==true); //但肯定的,下面的代码会返回false alert(1===true); 但对于下面的代码,估计会让大部分JS程序员疑惑 alert(123==tr

Javascript 中的false,零值,null,undefined和空字符串对象

在Javascript中,我们经常会接触到题目中提到的这5个比较特别的对象--false.0.空字符串.null和undefined.这几个对象很容易用错,因此在使用时必须得小心. 类型检测 我们下来看看他们的类型分别是什么: <script type="text/javascript"> alert(typeof(false) === 'boolean'); alert(typeof(0) === 'number'); alert(typeof("")

js开关true||false

想禁止掉页面的其它click事件,用true||false就可以避免去取消事件的绑定 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> <script type="text/javascript

c++ 中 BOOL与bool TRUE与true FALSE与false 区别 (转载)

http://blog.chinaunix.net/uid-28458801-id-3941112.html FALSE/TRUE与false/true的区别 1.FALSE/TRUE与false/true的区别: false/true是标准C++语言里新增的关键字,而FALSE/TRUE是通过#define,这要用途 是解决程序在C与C++中环境的差异,以下是FALSE/TRUE在windef.h的定义: #ifndef FALSE #define FALSE 0 #endif #ifndef

perl true/false

perl treat 0 false, non 0 ture. print "false\n" if 0; print "false\n" if 0; ------------------------ ture perl treat string empty is false. my $temp = ""; print "This is $temp\n" if $temp; $temp = "HelloWorld&q