Node.jsでメソッドの引数の数をチェックする方法
Function.lengthとarguments.lengthを使用することによって、引数の数をチェックを行うことができます。
arguments.lengthは実際の引数の数を返します。それに対してFunction.lengthは期待する引数の数を返します。
staticなメソッド
staticなメソッドに対して期待する引数の数を取得するには、クラス名.メソッド名.lengthで取得することが出来ます。
class Sample {
static get(a, b) { // 期待する引数は2
if (arguments.length < Sample.get.length) {
throw new Error(`${arguments.length}<${Sample.get.length}です`)
}
// 正常処理
}
}
Sample.get('test') // 実引数は1
staticではないメソッド
staticではないメソッドの場合に、期待する引数の数を取得するには、this.メソッド名.lengthで取得することが出来ます。
class Sample {
get(a, b) { // 期待する引数は2
if (arguments.length < this.get.length) {
throw new Error(`${arguments.length}<${this.get.length}です`)
}
// 正常処理
}
}
const abc = new Sample()
abc.get('test') // 実引数は1

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES20xx),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^


コメント