Это простая, но поучительная задача. Он позволяет глубже изучить типы данных в 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 для каждой отдельной вещи, кроме логического примитива.

Структура данных. Здесь нам не нужно беспокоиться о структурах данных. Мы просто проверяем, является ли ввод логическим примитивом или нет.

Алгоритм:

  1. Проверьте, является ли ввод логическим примитивом.
  2. Если это так, верните true.
  3. Если нет, верните 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'

Алгоритм:

  1. Проверьте, является ли тип ввода логическим.
  2. Если да, верните true. Если нет, верните false.

Код: см. ниже!

Без комментариев:

Если у вас есть другие решения и / или предложения, поделитесь в комментариях!

Эта статья является частью серии Создание скриптов алгоритмов freeCodeCamp.

Эта статья ссылается на Сценарии базового алгоритма freeCodeCamp: Boo Who

Вы можете подписаться на меня на Medium, LinkedIn и GitHub!