Help us understand the problem. What is going on with this article?

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らしくなると思います。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away