ES 6 export注意事項

1838 ワード

JavaScriptモジュールを作成するとき、export文はモジュールから関数、オブジェクト、または元の値をエクスポートするために使用され、他のプログラムがimport文を使用して別のモジュールからエクスポートされたバインディングをインポートできるようにします.strict modeが宣言されているかどうかにかかわらず、インポートされたモジュールは厳格なモードで実行されます.ブラウザでは、import文はtype=「module」を宣言したscriptのラベルでのみ使用できます.「)文は使用されます.MDNを参照してください.
export
まずexportエラーの書き方を解決します
書き方を誤る
//     
var m = 1;
export m;
//          
export {m}
//   import   import {m} from './export.js'

デフォルトのエクスポートでは、var、let、constを使用してデフォルトのexport defaultをエクスポートすることはできません.
どうやってエクスポートしますか?
  • 名前付きエクスポート:importコマンドを使用する場合、ユーザーはロードする変数名または関数名
  • を知る必要があります.
    //    
    function cube(x) {
      return x * x * x;
    }
        
    const foo = Math.PI + Math.SQRT2;
    //    
    var graph = {
        options: {
            color:'white',
            thickness:'2px'
        },
        draw: function() {
            console.log('From graph draw function');
        }
    }
    export { cube, foo, graph };
    
    \\         :     
    import { cube, foo, graph } from 'my-module';
    graph.options = {
        color:'blue',
        thickness:'3px'
    }; 
    graph.draw();
    console.log(cube(3)); // 27
    console.log(foo);    // 4.555806215962888
    
  • デフォルトエクスポート:importコマンドを使用する場合、ユーザーはロードする変数名または関数名を知る必要はありません.値またはモジュールの戻り値をエクスポートする場合は、デフォルトエクスポート:
  • を使用します.
    // module "my-module.js"
    export default function cube(x) {
      return x * x * x;
    }
    

    次に、別のスクリプトで、デフォルトのエクスポートを直接インポートできます.
    // module "my-module.js"
    import cube from 'my-module';
    console.log(cube(3)); // 27​​​​​
    

    いけない書き方
    //    const a = 1; export default a;
    export default const a = 1;
    //export default [const|let|var] variable = xxx       
    
    

    デフォルト値export defaultをエクスポートするにはvar、let、constは使用できません.