JavaScriptで波括弧をなんでもかんでも省略してみる

One-liner program - Wikipedia, the free encyclopedia

カッとなったので。

if ( $CONDITIONS$ ) ... でワンライナーな if が書けるのは周知のことですが、
JavaScript で他にも適用してみます。
構文の波括弧って1行ならなんでも省略できるのでは…?と思っての実験。

 

あなたの第一言語は波括弧をどこまで省略できますか。

 

深い意味はないです

まずは if から。

{} 省略した上で改行するのは危ないですが、
サイトに埋め込むちょっとしたイベント駆動 JavaScript で改行せずに
if ( condition ) return;

if ( typeof parameter === 'undefined' ) parameter = 'default';
とラフに書く程度なら個人的には許容範囲という感じですね。
ここら辺については言及するだけ無駄なのでそれぞれの判断で。
仕事で書くときはプロジェクトのコーディング規約に従いましょう。
ドキュメントが無い場合は…(滅)

ターッとループ回していくとき使えるんですかね。

分からないわけではないですが、よく分かりません。

while よりもこっちの方が活用(?)できている感じがありますね。
まんまワンライナーです。

ふむ。。。

割と驚いたのがコレ。
JavaScript って面白いですね。IIFE 的な魅力を感じます。

全く使い道が分かりませんが、ササッと setTimeout() とか書きたいときに使えたりするんでしょうか。

ですがこの文法、Firefox なら動きますが Safari や Chrome だとエラーが出ました。
(OS X Yosemite, Firefox 37.02, Safari 8.0.6, Google Chrome 42)
Windows でも Firefox だと同じように動く感じです。

構文の波括弧って1行ならなんでも省略できるのでは…?と思ったのがキッカケですが、
なんでもではないんですね。

制御構造 (Control flow) は省略OKだけど、function は式 (Expression) だからダメだよー、的な感じでしょうか?
仕様書の何処かにあったりしそうですが、残念ながらそこまで時間的コストを掛けられませんので、
既にご存知の方がおられましたらお教え頂けませんか。
(ただ、ブラウザで挙動が違う以上、どんな仕様であれ為す術なさそうですが…)

また、念の為に今一度書いておきますが、
この記事のコードはあくまでも実験的なものなので
どんどん使っていくべきという訳ではありません。
誰かに突っ込まれたり後から波括弧付け足す方が面倒臭いですしね。
ですが、ブラウザの Console に確認用のコードをちょっと書くときですとか、
ソースコード内に一時的に console.log() を書き込んで試してみる時ですとか、
主に使い捨てのコードを書く場面で、もしかしたら有効活用できるかもしれません。

 

最後に。。。

グロかわいいですね。

 

ではではー★