When should I use curly braces for ES6 import?

后端 未结 11 926
借酒劲吻你
借酒劲吻你 2020-11-21 09:46

It seems to be obvious, but I found myself a bit confused about when to use curly braces for importing a single module in ES6. For example, in the React-Native project I am

11条回答
  •  野性不改
    2020-11-21 10:36

    If you think of import as just syntax sugar for node modules, objects, and destructuring, I find it's pretty intuitive.

    // bar.js
    module = {};
    
    module.exports = { 
      functionA: () => {},
      functionB: ()=> {}
    };
    
     // really all that is is this:
     var module = { 
       exports: {
          functionA, functionB
       }
      };
    
    // then, over in foo.js
    
    // the whole exported object: 
    var fump = require('./bar.js'); //= { functionA, functionB }
    // or
    import fump from './bar' // same thing, object functionA and functionB props
    
    
    // just one prop of the object
    var fump = require('./bar.js').functionA;
    
    // same as this, right?
    var fump = { functionA, functionB }.functionA;
    
    // and if we use es6 destructuring: 
    var { functionA } =  { functionA, functionB };
    // we get same result
    
    // so, in import syntax:
    import { functionA } from './bar';
    

提交回复
热议问题