codecamp

10. 模块

  • 10.1 总是使用模组 (import/export) 而不是其他非标准模块系统。你可以编译为你喜欢的模块系统。

    为什么?模块就是未来,让我们开始迈向未来吧。

      // bad
      const AirbnbStyleGuide = require('./AirbnbStyleGuide');
      module.exports = AirbnbStyleGuide.es6;
    
      // ok
      import AirbnbStyleGuide from './AirbnbStyleGuide';
      export default AirbnbStyleGuide.es6;
    
      // best
      import { es6 } from './AirbnbStyleGuide';
      export default es6;
  • 10.2 不要使用通配符 import。

    为什么?这样能确保你只有一个默认 export。

      // bad
      import * as AirbnbStyleGuide from './AirbnbStyleGuide';
    
      // good
      import AirbnbStyleGuide from './AirbnbStyleGuide';
  • 10.3 不要从 import 中直接 export。

    为什么?虽然一行代码简洁明了,但让 import 和 export 各司其职让事情能保持一致。

      // bad
      // filename es6.js
      export { es6 as default } from './airbnbStyleGuide';
    
      // good
      // filename es6.js
      import { es6 } from './AirbnbStyleGuide';
      export default es6;
9. 构造函数
11. Iterators & Generators
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }