null合体演算子
結論
if文を短くしたやつ
null合体演算子とは何か
さて、null合体演算子とは何か。
最初に聞いたときはなんだこれって思ってたけど、内容を理解すれば全然難しくない。
公式を見ると、三項演算子のシンタックスシュガー(簡略化)とある。まあ、if文の類似形のことだ。
ちょっと脱線するが、プログラミングやってる人って面倒臭がり屋が多い。これは先輩から教わったプログラマーの三大美徳にも表れていて(この三大美徳はPerl開発者のLarry Wall氏の格言)、この種の性格を持ち合わせていないと、まあ続かないと思う。プログラマーの三大美徳ってググれば色々と出てくるよ。怠慢(Laziness)、短気(Impatience)、傲慢(Hubris)の三つ。
話逸れたけど、null合体演算子はなんか面倒臭いので「三項演算子をシンプルにしたもの」ってこと。
どうやって使うのか
実際に使い方を見た方が分かりやすい。百聞は一見に如かず。
<?php
$isekai = NULL;
//if文
if ($isekai) {
echo $isekai;
} else {
echo "no";
}
// no
//三項演算子
echo isset($isekai) ? $isekai : 'no';
// no
//null合体演算子
echo $isekai ?? 'no';
// no
?>
エディタでこれ実行すれば分かる。
三つとも同じことやってるけど、一番シンプルなのは、null合体演算子。
同じ意味で、シンプルに書けるなら、そっちの方が良いよね。
でも、実際には三項演算子やnull合体演算子の使用を嫌がる人もいるようだから、チーム開発している人は注意。個人で開発する人は自分の書きやすい方法でやればいい。(cf, 三項演算子?:は悪である。(最終閲覧2020/04/25))複雑にならない程度に使う。
まとめ
適宜使用すれば、シンプルなコードになる