10
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2016-03-03

いきなりコードを。

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

10
8
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?