# カラだったらデフォルト値、なければ代入(elvis演算子, null coalesce)

# JavaScript

a = b || c

# PHP

$a = $b ?: $c; # falsy のとき?
$a = $b ?? $c; # null のとき

# Python

a = c if b is None else b

直感的でない・・

これは、あってる??

a = b or c

dictionary の場合は

d.get('x', 0)

# Ruby

a = b || c
a ||= 0

# Swift

a = b ?? c
a ??= 0 // これはできない

# TypeScript

a = b || c
// 例: null かもしれない m のメンバの値を取得。 なければ -1
const m = str.match(/aaa/)
const length = m && m.length || -1

[ 📩 ご意見 ]