null合体演算子

home

結論

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))複雑にならない程度に使う。

まとめ

適宜使用すれば、シンプルなコードになる

basic, php

Posted by himajinn