0

関数呼び出しの引数の型が正しいかどうかを確認する方法はありますか。Car 型と String 型の 2 つの引数を取る changeCar という関数があるとします。

function Car(){
this.make="generic";
}

function changeCar(car,mytype){
car.make=mytype;
}

var mycar=new Car();
changeCar(mycar,"ferrari");

mycar と "ferrari" が changeCar を実行するために必要な正しいタイプであるかどうかを判断する方法はありますか? 可能であれば、スクリプトを実行する前にこれを行う必要があります。おそらく eval または try/catch を使用して間違いを探します。

このアプリケーションでは、学生が JavaScript スクリプトを入力して、関数の引数と関数呼び出しのエラーを探すことができます。

4

1 に答える 1

0
function changeCar (car, mytype) {
    if ( car instanceof Car && mytype.toLowerCase ) {
        car.make = mytype;
    }
}

ダックタイピングFTW。

于 2013-09-10T20:04:55.467 に答える