Kontynuujemy prace nad funkcjami utils. Dopisujemy kilka ciekawych, obywając się lepiej z JavaScript.

Sprawdź, czy funkcja jest strzałkowa:

function isArrowFunc(func){
    return func.toString().includes("=>");
}

Sprawdź, czy obiekt ma iterator:

function hasIterator(obj) {
    return obj && typeof obj[Symbol.iterator] === "function";
}

Sprawdź, czy funkcja jest generatorem:

function isGenerator(fn) {
    return fn.constructor.name === 'GeneratorFunction';
}

Sprawdź, czy dany obiekt można używać z concat:

function isConcatenable(obj){
    return Object.getPrototypeOf(obj).hasOwnProperty("concat");
}

console.log(isConcatenable([1,2,3]), isConcatenable("abc"));
//true true

console.log(isConcatenable(1), isConcatenable({name: "john"}));
//false false