Это простая, но поучительная задача. Он позволяет глубже изучить типы данных в JavaScript.
Мы должны видеть, является ли данное значение логическим примитивом, означающим true
или false
. Давайте разберемся, как проверять типы данных!
Инструкции по алгоритму
Проверьте, классифицируется ли значение как логический примитив. Вернуть истину или ложь.
Булевы примитивы бывают истинными и ложными.
Предоставленные тестовые случаи
booWho(true)
должен вернуть истину.booWho(false)
должен вернуть истину.booWho([1, 2, 3])
должен вернуть false.booWho([].slice)
должен вернуть false.booWho({ "a": 1 })
должен вернуть false.booWho(1)
должен вернуть false.booWho(NaN)
должен вернуть false.booWho("a")
должен вернуть false.booWho("true")
должен вернуть false.booWho("false")
должен вернуть false.
Решение no 1: оператор if
ПЕДАК
Понимание проблемы: у нас есть один вход, и кажется, что это может быть что угодно: логическое значение, массив, объект, число, строка и т. д. Наш вывод является логическим, либо true
, либо false
. В конечном итоге мы хотим определить, является ли наш ввод «логическим примитивом», который хорошие люди из freeCodeCamp определили для нас как просто true
или false
.
Примеры / тестовые примеры. Предоставленные нами тестовые примеры показывают, что мы должны возвращать false
для каждой отдельной вещи, кроме логического примитива.
Структура данных. Здесь нам не нужно беспокоиться о структурах данных. Мы просто проверяем, является ли ввод логическим примитивом или нет.
Алгоритм:
- Проверьте, является ли ввод логическим примитивом.
- Если это так, верните
true
. - Если нет, верните
false
.
Код: см. ниже!
Без комментариев:
Решение no 2: typeof
ПЕДАК
Понимание проблемы: у нас есть один вход, и кажется, что это может быть что угодно: логическое значение, массив, объект, число, строка и т. д. Наш вывод является логическим, либо true
, либо false
. В конечном итоге мы хотим определить, является ли наш ввод «логическим примитивом», который хорошие люди из freeCodeCamp определили для нас как просто true
или false
.
Примеры / тестовые примеры. Предоставленные нами тестовые примеры показывают, что мы должны возвращать false
для каждой отдельной вещи, кроме логического примитива.
Структура данных. Здесь нам не нужно беспокоиться о структурах данных. Мы просто проверяем, является ли ввод логическим примитивом или нет.
Небольшое примечание о typeof
: оператор typeof
возвращает строку, указывающую тип неоцененного операнда. Так например
typeof 42 // returns 'number' typeof 'Hello, there' // returns 'string' typeof true // returns 'boolean'
Алгоритм:
- Проверьте, является ли тип ввода логическим.
- Если да, верните
true
. Если нет, вернитеfalse
.
Код: см. ниже!
Без комментариев:
Если у вас есть другие решения и / или предложения, поделитесь в комментариях!