LoginSignup
7
2

More than 5 years have passed since last update.

JavaScriptにセミコロンは要らない

Posted at

嘘だと思うなら次のFizzBuzzに
セミコロンを足してみてください。

FizzBuzz
switch((toFizzBuzz=>(
    (toFizzBuzz=(n,str)=>(
        (str = n%3===0?15..toString(16).toUpperCase()
                       + 24623..toString(36):[].join()),
        (str += n%5===0?11..toString(16).toUpperCase()
                        + 40175..toString(36):[]),
        (str.length?str:n.toString())
    )),
    [...Array(100)]
        .map((e,i)=>i+1)
        .forEach(n=>console.log(toFizzBuzz(n)))
))()){
}

先頭と末尾以外にセミコロンが追加できたら僕の負けです。

何これ?

僕はセミコロンつける派(正確にはつけるけどしばしば忘れる派)なのですが、
世の中にはセミコロンつけない派の人もいるようです。

どちらの人にも怒られないように、
セミコロンをつける余地のないスクリプトを書いてみました。

文字を書くのに'"を使ってしまうと
その中にセミコロンが書けてしまうので
変な手法を使っています。

既知の問題

  • 'use strict'が使えない
  • constが使えない
  • while的なループが再帰でしか書けない

それ以前の問題

  • switchの使い方が明らかにおかしい
  • 変数の定義の仕方がおかしい
  • 文字列の書き方がおかしい

セミコロンつけない派の人にも
セミコロンつける派の人にも
怒られる代物になりましたとさ。

7
2
0

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
7
2