5
1

More than 1 year has passed since last update.

「こんな変数宣言は、嫌だ。どんなの?」: JS

Posted at

ある日のパイセン、「こんな変数宣言は、嫌だ。どんなの?」

なんだ?
パイセンは最近、大喜利にハマっているのか?

もしや、新たなレビュー方法…?
評価に関わるかもしれないな
よし、受けて立とうじゃないか!

シンプルにvar

var notCoke = 'Pepsi'

varは嫌だろう!
どれくらい嫌かって?

炭酸が抜けたコークや
BBQで、もはやあたたかさを帯びたビールくらい嫌だね!

varが何で嫌か?まあ、こんなところかな!
1. 巻き上げられて、エラーがでない
2. 再宣言ができてしまう

console.log(notCoke) // undefined (巻き上げられて、エラーがでない)

var notCoke = 'Pepsi'

var notCoke = 'Dr.Pepper' // 再宣言ができてしまう

まあこんなことを抜きにしても、varを見たら
「え、古っ!」って思うようにはなってしまっているな…

なんか、varからは、おじいちゃんおばあちゃんの家と同じようなニオイがするんだよ

話は逸れるが、あのニオイの正体は一体何なんだい?

再代入しないのにlet

function getKingOfPizza() {
  let kingOfPizza = 'Cuatro Formage' // 4種のチーズピザ、あれ最高だよな!
  return kingOfPizza
}

宣言したkingOfPizzaをそのままreturnしているな!

別に動きはするからいいのかもしれないが
もちろん再代入しないならconstにしてほしいさ!

そうしたら、コードを最後まで見なくても
kingOfPizzaは再代入されないことがわかるからな!

積み上がったconst

テトリスって知ってるかい?
そうだ、ブロックが積まれて、横一列になったら消せる、あのゲームだ

JSを書いていて、こんな感じでconstが積まれた状況に遭遇したことはないかい?

const hamberger = 'Cheese Berger'
const sideMenu  = 'French Fries'
const drink = 'Coke'

もちろん変数宣言は必要だ
処理によっては、たくさん宣言することになるだろう
(人類も平和を守るためにあらゆる宣言を出してきたからな!)

でも、たくさん宣言されると何がなんだかわからなくなるのは、ボクだけじゃないはずだ

そんなとき、ボクはテトリスを思い出すよ

分割代入をうまく使えば、積み上がったconstは消すことができる、ってね!

const [hamberger, sideMenu, drink] = ['Cheese Berger', 'French Fries', 'Coke']

console.log(hamberger) // 'Cheese Berger'

だいぶ見通しがよくなった気がしないかい?

とはいえ分割代入を、変数宣言を少ない行で書くために使うときは
意味のあるまとまりごとに変数宣言したほうがよさそうだ

どんなふうに分割代入を使うか、は
テトリスのこんな形┗┓のブロックをどう使うか、と同じように
センスが問われるところかもしれないな!

さあ、キミも参戦してくれ!

ここまで読んでくれたキミ、ありがとう!

ボクは全然優れたプログラマーではないから
たった3つしか思い浮かばなかった…!
(ウケをとれたかもわからないしね!)

パイセンからの大喜利はまだ終わりじゃない。

ぜひ、キミたちも参戦して、パイセンに
スタンディングオベーションさせる回答をしてくれよ!

こんな変数宣言は、嫌だ。どんなの?

Follow ME !!!
I'm sure to follow you back!
twitter: @marty_ojiya

5
1
2

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
5
1