模块之间也可以继承。
假设有一个 children
模块,继承自 parent
模块。
// children.jsexport * from 'parent'export var name = 'child'export function cry(){// do something}
如上代码中的 export *
,表示输出 parent
模块的所有模块和方法。然后,如上代码又输出了自定义的 name
属性和默认方法 cry
。
同时,也可以将 parent
的属性或方法,改名后再输出。
// children.jsexport { work as job } from 'parent'
上面的代码表示,只输出 parent
模块的 work
方法,并且将其改名为 job
。
加载上面模块的写法如下:
// main.jsimport * as child from 'children'import cry from 'children'console.log(cry(child.name))
上面代码中的 import cry from 'children'
表示,将 children
模块的默认方法加载为 cry
方法。