💩

💩なコードを書き換える~JavaScript編~

2021/06/11に公開

「💩すぎる…」
昔自分の書いたコードを見直して、膝から崩れ落ちました。

そんな💩コードを今後量産しないためにも、ここに記事として残しておこうと思います。

単純なif文の場合は一行で

const foo = true;

function doSomething() {
    console.log("🐹");
}

// 💩
if (foo) {
    doSomething();
}

// ✅
foo && doSomething();

実際に使うと可読性が落ちるので以下のほうが実践的かも

// ⭐
if (foo) doSomething();

配列の分割代入

ES6で導入された分割代入を使う

const foo = ["🍎", "🍊", "🍌"];

// 💩
const a = foo[0];
const b = foo[1];
const c = foo[2];

// ✅
const [d, e, f] = foo;

mapを使う

mapとforEachの使い分けは返り値を使うかどうかで考えたほうがいい。

const foo = ["🐟", "🐠", "🐡"];

// 💩
const bar = [];

foo.forEach((f) => {
    bar.push(f);
});

// ✅
const baz = foo.map((f) => {
    return f;
});

ここに書いたものはあくまで一例というか、今の私にとってのベストプラクティスだと思っているだけなので、改善点や修正点などあればコメントいただけるととても喜びます。

Discussion