Тип номера ложный

1

У меня есть функция, которая утверждает тип значения среди других вещей. проблема заключается в том, что при проверке типа номера оно не дает ожидаемого результата. Например, надуманная версия функции может выглядеть так:

Теперь некоторые из путаницы возникают из-за того, что если я регистрирую тип 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: я пробовал с === и все еще не работал

  • 1
    Что такое Assert ? Может быть, вы должны использовать === вместо этого?
  • 2
    Я получаю true за все три. Можете ли вы опубликовать свой полный актуальный код?
Показать ещё 1 комментарий
Теги:
types

1 ответ

0
Лучший ответ

По крайней мере, вам нужно вернуть результат проверки.

function checkType(val, expectedType){
    return typeof val === expectedType;
}

console.log(checkType(10, "number"));
console.log(checkType(true, "boolean"));
console.log(checkType("Hello World", "string"));
  • 1
    Тем не менее это не даст false .
  • 0
    @Bergi, мы до сих пор не знаем, что Assert делает. и не возвращая что-либо, он должен вернуть undefined .
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню