js-study-part4-task5

by tigeral

HTML

<!--
Написать ф-цию not, которая принимает на вход ф-цию-предикат (то есть, возвращающую boolean) и возвращает другую ф-цию-предикат, которая возвращает результат, инверсный по отношению к исходной.
Пример использования:
var isFunction =
     x => typeof x === ‘function’;
var isNotFunction = not(isFunction);
isNotFunction(10); // => true
isNotFunction(undefined); // => true
isNotFunction(Array); // => false
-->

JavaScript

function not (func) {
  return function() {
    return !func.apply(this, arguments);
  }
}

var isFunction = x => typeof x === 'function';
var isNotFunction = not(isFunction);
console.log(isNotFunction(10));
console.log(isNotFunction(undefined));
console.log(isNotFunction(Array));