Skip to main content

A closure is a persistent local variable scope

Languages which support closure (such as JavaScript, Swift, and Ruby) will allow you to keep a reference to a scope (including its parent scopes), even after the block in which those variables were declared has finished executing, provided you keep a reference to that block or function somewhere.


outer = function() {
  var a = 1;
  var inner = function() {
    console.log(a);
  }
  return inner; // this returns a function
}

var fnc = outer(); // execute outer to get inner 
fnc();
As you might be able to guess, when I call fnc() it prints the value of a, which is "1".
===========================
function add (a) {
  return function (b) {
    return a + b;
  }
}

var add3 = add(3);

add3(4); // returns 7
========================
var add = (function () {
  var counter = 0;
  return function () {counter += 1; return counter}
})();

add();
add();
add();

// the counter is now 3

Comments

Popular posts from this blog

check variable undefined with quokka

// listingId = '', 0, null, undefined, false //let listingId if ( typeof listingId === 'undefined' ) console . log ( 'listingId is undefined' ) else console . log ( listingId ) if (!! listingId ) console . log ( listingId ) else console . log ( 'listingId does not found' ) if ( listingId ) console . log ( listingId ) else console . log ( 'listingId does not found' ) if ( listingId === undefined ) console . log ( 'listingId does not found' ) else console . log ( listingId )

apollo client v3 - clean up non-needed packages

v3: https://github.com/apollographql/apollo-client clean up: ApolloProvider useQuery, useMutation, useApolloClient Apollo Client >= 3 includes React hooks functionality out of the box. You don't need to install any additional packages. https://www.apollographql.com/docs/react/api/react/hooks/ //import { ApolloProvider } from '@apollo/react-hooks' import { ApolloProvider } from '@apollo/client/react' //import { useQuery, useMutation, useApolloClient } from '@apollo/react-hooks' import { useQuery, useMutation, useApolloClient } from '@apollo/client' How i can CATCH any error (network and graphql), and prevent promise.reject()  https://github.com/apollographql/apollo-client/issues/6469 npm uninstall @apollo/react-hooks https://github.com/apollographql/apollo-link npm uninstall apollo-link npm uninstall apollo-client npm uninstall apollo-link-error npm uninstall apollo-link-http npm uninstall apollo-link-ws npm uninstall apollo-cache-inmemory