:値を返し、それを悪い習慣とみなされる変数に格納していませんか?次の関数を考える
function lamePathValidator(path) {
if (typeof path !== 'string') {
throw new TypeError(`Invalid path "${path}": should be a string.`);
}
return path;
}
は時折、それが変数に戻り値を格納することなく使われている場合、それは悪い習慣と考えられますか?
...
lamePathValidator('./data');
...
編集:私は戻り値を必要とする唯一のユースケースなど、コンストラクタでプロパティの割り当てのためのものです:
constructor(basepath) {
this._basepath = this._validatePath(basepath);
}
私はもちろん書き込みの可能性:
constructor(basepath) {
this._validatePath(basepath)
this._basepath = basepath;
}
前者のブロックはより簡潔です。
編集#2: それらのどれが実際にどのような方法で変更されていないされているので、私はまた、_validateAll(params)
関数にコンストラクタのパラメータを渡すことができます。結局のところ、「妥当性検査」ではなく、「サニタイズ」しません。 :)
なぜこの関数は何かを返しますか?戻り値は無駄です。 – user2357112
コメントはあなたがその質問を理解していないことを示しています。 –
本質的に悪い習慣ではありませんが、私は、 'throw'または' throw'するのがより理にかなっていると思います**または**この特別なケースで 'true'または' false'を返します。 。 –