Edited at

JavaScriptのチョット便利な代入方法

More than 3 years have passed since last update.

いきなりコードを。


tips

var hoge = hage || mage;


これは下記のコードと等価です。


normal

var hoge = '';

if (hage) {
hoge = hage;
} else {
hoge = mage;
}

こんな事はしなくて下記のように書くか三項演算子を使って書くと思いますが、わかりやすさのために上記のように書きました。


normal

var hoge = mage;

if (hage) {
hoge = hage;
}

これは「||(OR演算子)」の、左辺が評価されてtrue(とみなせる)の場合は左辺、それ以外は右辺の値を返すという仕様を利用しています。

hageがundefinedや空文字、null、etc.といったfalseとみなせる値の時に、mageを代入するという時によく使うと思います。

mageが定数だったり、mageの代わりにリテラルを指定してデフォルト値のように指定するような場面でも便利です。


tips

var hoge = hage || "not hage";


これは、書籍「JavaScript: The Good Parts」で初めて知って時々使っていますが、なぜかよく忘れるのでメモ。

(多分、知識のある人が少ないプロジェクトが多いからです)

「JavaScript: The Good Parts」は、個人的には少し変わった本だと思っていて、初級者にはオススメしませんが、自称中級者の人に特にオススメします。中級者もしくは上級者になって、コードが飛躍的にJavaScriptらしくなると思います。