当サイトは、アフィリエイト広告を利用しています
reactを書いてるときによく使用する「&&」や「||」について
よくわからず使っていたのでその仕組みをまとめる。
ショートサーキット評価(短絡評価)は論理演算子が左から右に評価
される性質を利用して右辺の評価を左辺の評価にゆだねること基本のこと
reactでは条件付きレンダーでよく使用される。
言葉だけだとちょっとよくわからないので
実装してみる
orの論理演算子は左辺と右辺を比較時、左辺がfalseになった時だけ
右辺を見に行く。
下記でいうと
つまり"hoge"がorに入るのは左辺が全てfalseの時だけになる
const or = "" || null || "hoge"console.log(or)// 実行結果// hoge
andの論理演算子は左辺と右辺を比較時、左辺がtrueになった時だけ
右辺を見に行く。
下記でいうと
つまり"fuga"がandに入るのは左辺が全てtrueの時だけになる
const and = true && 1 && "fuge"console.log(and)// 実行結果// fuge
reacrの条件付レンダーでショートサーキット評価を使用してみる
import { useState } from "react";export default function App() {const [flg,setFlg] = useState(true)return (<div>{flg && <h1>左辺がflgがtrueの時に表示</h1>}{flg || <h1>左辺がflgがfalseの時に表示</h1>}<button onClick={()=>setFlg((flg)=>!flg)}>flg変更</button></div>);}
まとめると