はじめに
JSを勉強中に疎結合と密結合という言葉を知った。
疎結合と密結合って?
「密結合」は素間の関係性が強く、個々の要素が他の要素へ及ぼす影響が大きな状態。
「疎結合」は要素間の関係が相対的に緩く、独立性が高い状態。
JSにおいての疎結合と密結合
JSのメソッドを作る時、グローバルで定義した変数を使うのは便利な反面、密結合が起こりやすい。
let word = "hoge";
const hoge = () => {
word = "fuga";
};
hoge();
この場合、グローバルで定義したwordを作成した関数で直接書き換えているが、この書き方だと変数(word)と関数(hoge)をセットで使用することになる(密結合)。
また、他の関数で同じ変数を使うこともあり得るので避けたい。
let word = "hoge";
const hoge = (word) => {
word = "fuga";
};
hoge(word);
こちらの書き方は結果は同じだが、変数で引数を渡して使用することでメソッドを独立して使用することができるのでこちらのほうがいい(密結合を防げる)