默认暴露的优点

发布时间 2023-06-28 20:17:00作者: ygdong

昨天在工作时遇到一个功能需要提供一个ts回调脚本,同事在做的时候不知道该怎么写脚本,说不知道该怎么命名函数名。我沉默了,然后就解释了标题。。。

module001.ts

export default function hehehehe(){
    console.log(12343)
}

index.ts

import mod from './module001'
mod()

上面是两个模块代码,在index模块中引入了module001的默认暴露函数并起名为mod.

如果ts中有指针可用更好解释模块这个东西,可惜没有。

用语言解释我认为可以这样说:

1.在执行 from语句的时候会先执行想要导入的模块,这个模块里的内容(方法和变量)被放入一块内存中。

2。在执行被导入模块时会有export 语句,这个语句向导入模块提供一个内存地址。这个地址中存着暴露的内容。(这样就可以将import  XXXX from xxxx 看作一个赋值语句 )

3接赋值语句结合上例———export default  等同于 function fun (){  return {default: function hehehehe(){ .....}}}

4import mod from === (import * as ABC from   然后 mod = ABC.default )前者可以看作后者的语法糖

注** :某一个模块用from 语句加载另一个模块时如果出现多次from只执行一次被加载模块。