С чистым JavaScript , вы можете просто использовать typeofи делать что-то вроде typeof falseили, typeof trueи он вернется "boolean"...
Но это не единственный способ сделать это, я создаю функции ниже, чтобы показать различные способы проверки логического значения в JavaScript, а также различные способы сделать это в некоторых новых средах, давайте начнем с этого:
function isBoolean(val) {
return val === false || val === true;
}
Или однострочный способ ES6 ...
const isBoolean = val => 'boolean' === typeof val;
и назовите это как!
isBoolean(false); //return true
Также в исходном коде Underscore они проверяют это следующим образом (с _. В начале имени функции):
isBoolean = function(obj) {
return obj === true || obj === false || toString.call(obj) === '[object Boolean]';
};
Также в jQuery вы можете проверить это так:
jQuery.type(true); //return "boolean"
В React , если вы используете propTypes, вы можете проверить значение на логическое, например:
MyComponent.propTypes = {
children: PropTypes.bool.isRequired
};
Если вы используете TypeScript , вы также можете использовать тип boolean :
let isDone: boolean = false;
Также еще один способ сделать это, например, преобразовать значение в логическое и посмотреть, точно ли оно все еще, что-то вроде:
const isBoolean = val => !!val === val;
или как:
const isBoolean = val => Boolean(val) === val;
и позвони!
isBoolean(false); //return true
Не рекомендуется использовать какой-либо фреймворк для этого, так как это действительно простая проверка в JavaScript.
trueилиfalseтипа булева?