У меня есть функция, которая утверждает тип значения среди других вещей. проблема заключается в том, что при проверке типа номера оно не дает ожидаемого результата. Например, надуманная версия функции может выглядеть так:
Теперь некоторые из путаницы возникают из-за того, что если я регистрирую тип val, он печатает number
, но когда это сопоставляется с строкой "число", сравнение является ложным. Больше путаницы возникает, когда она отлично работает для bool и strings.
Пример использования функции:
function CheckType(val, expectedType) {
return (typeof val == expectedType);
}
console.log(CheckType(10, "number")); // false
console.log(CheckType(true, "boolean")); // true
console.log(CheckType("Hello World", "string")); // true;
EDIT: я пробовал с === и все еще не работал
По крайней мере, вам нужно вернуть результат проверки.
function checkType(val, expectedType){
return typeof val === expectedType;
}
console.log(checkType(10, "number"));
console.log(checkType(true, "boolean"));
console.log(checkType("Hello World", "string"));
false
.
Assert
делает. и не возвращая что-либо, он должен вернуть undefined
.
Assert
? Может быть, вы должны использовать===
вместо этого?true
за все три. Можете ли вы опубликовать свой полный актуальный код?