JSFiddle - React, Tailwind, and code Playground

by Brenton Strine

HTML

<p>This is a faithful reproduction of the code on the slide at 41m 26s of the video <a href="https://youtu.be/ya4UHuXNygM?t=41m26s">Crockford on Javascript - Act III: Function the Ultimate</a>.</p>
<p>Line 5 causes an error, and only works if you do some "trick" (as Crockford calls it) like <code>Array.prototype.slice.apply(arguments, [1])</code> or <code>[].slice.call(arguments, 1)</code>.</p>

JavaScript

(function(){
'use strict';

function curry(func){
    var args = arguments.slice(1); //causes TypeError: arguments.slice is not a function
    return function(){
        return func.apply(null,
                args.concat([].slice.call(arguments)));
    };
}
var inc = curry(function add(a, b){
    return a + b;
}, 1);
    
console.log(inc(6));  //7
    
    
})();