1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
const callArg = arg => arg();
callArg( () => console.log( 'effect' ) );
const assignArg = arg => arg.foo.bar = 1;
assignArg( {} );
const returnArg = arg => arg;
returnArg( () => console.log( 'effect' ) )();
const returnArg2 = arg => arg;
returnArg2( {} ).foo.bar = 1;
const returnArg3 = arg => arg;
returnArg3( () => () => console.log( 'effect' ) )()();
const returnArgReturn = arg => arg();
returnArgReturn( () => () => console.log( 'effect' ) )();
const returnArgReturn2 = arg => arg();
returnArgReturn2( () => ({}) ).foo.bar = 1;
const returnArgReturn3 = arg => arg();
returnArgReturn3( () => () => () => console.log( 'effect' ) )()();
const multiArgument = ( func, obj ) => func( obj );
multiArgument( obj => obj(), () => console.log( 'effect' ) );
const multiArgument2 = ( func, obj ) => func( obj );
multiArgument2( obj => obj.foo.bar = 1, {} );
|