import和export的问题

// test.js
const num = 20
const arr = [1,2,3,4]
const obj = { name:'zs', age:'20', }
const foo = ()=>{
  const a = 0;
  const b = 20;
  return a+b
}
console.log('test文件log')
/**
 * 没有default
 */
export const bar = () =>{
  console.log('bar')
}
export const str = '开水寻觅秋天'

/***
 * default导出:
 */
export default {
  num,
  arr,
  obj,
  foo,
}
// index.js
/******** 三种import的区别:**********/
// https://www.jianshu.com/p/b7db6224a4aa
// https://www.jianshu.com/p/6bfcfdab9156
import testA from './test' // 只包含:export default的内容,是一个对象
import * as testB from './test' // 包含: export default和直接export的内容,是一个Module
import testC, { bar, str } from './test' // testC:default内容; {}: 直接export的内容

const app = document.getElementById('root')
app.innerHTML = 'app开始'

console.log('testA:', testA)
/*** testA:是一个对象,eg:
 * arr: (4) [1, 2, 3, 4]
 * foo: () => { const a = 0; const b = 20; return a + b; }
 * num: 20
 * obj: {name: 'zs', age: '20'}
 */
console.log('testB:', testB)
/*** testB打印:是一个Module,结构如下:
 * bar: () => { console.log('bar'); }
 * default: arr: (4) [1, 2, 3, 4]
 *   foo: () => { const a = 0; const b = 20; return a + b; }
 *   num: 20
 *   obj: {name: 'zs', age: '20'}
 * str: '开水寻觅秋天'
 */
console.log('testC:', testC) // 是一个对象,testA === testC
console.log('是否全等', testA === testC) // true

console.log('bar:', bar) //
/*** bar打印:
 * bar: () => {
    console.log('bar');
  }
 */
console.log('str:', str) // str: 开水寻觅秋天
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值