do-while(false)
後処理を必ず実行させるプログラミングのテクニック。
C言語ではよく使われるが、JavaScriptではあまり使われないかもしれない。
なるべくならば、do-while(false)を使わず関数に処理を切り分けるべき。
do-while文を本来のループ処理として使わないため、初見だと理解しずらい。
do-while-false.jsconst sentence = "apple banana orange";const splitter = " ";let index = 0;
for (const word of sentence.split(splitter)) { do { if (!word.includes("a")) { // do-while文で囲んだ処理を中断できる。 continue; }
if (!word.includes("e")) { // do-while文で囲んだ処理を中断できる。 continue; }
// 早期continueしているため、スコープがネストしない。 console.log(`${index}文字目の単語 ${word}`); } while (false);
// indexの更新処理を忘れずに実行できる。 index += word.length + splitter.length;}
C言語での使われ方
malloc()したメモリの開放し忘れを防ぐときなどに使われる。
C言語で関数形式マクロを書くときにも使われる。
しかし、現代ではインライン関数を使ったほうがよい。