Есть ли способ проверить, имеет ли вызов функции правильные типы аргументов. Предположим, у меня есть функция под названием changeCar, которая принимает два аргумента одного типа Car и другого типа String.Проверьте, правильно ли используются вызовы функций
function Car(){
this.make="generic";
}
function changeCar(car,mytype){
car.make=mytype;
}
var mycar=new Car();
changeCar(mycar,"ferrari");
Есть ли вообще сказать, является ли MyCar и «феррари» являются правильными типами, необходимых для запуска changeCar? Мне нужно сделать это до запуска скрипта, если возможно, используя eval или try/catch для поиска ошибок.
Приложение позволяет студентам вводить скрипты javascript и ищет ошибки в аргументах функций и вызовах функций.
Есть ли преимущество проверки _toLowerCase_ над выполнением проверки типа 'String (mytype) === mytype'? (Обратите внимание на отсутствие «нового») –
@PaulS. - [Это * путь * быстрее] (http://jsperf.com/duck-typing-vs-tostring). –
Он пытается проверить код на наличие ошибок, а не проверить правильность параметров функции. Он хочет «скомпилировать» и получить «ошибки времени компиляции». Поэтому это не ответ. – DDS