javascript中export的意思是什么

WBOY
发布: 2022-01-12 15:22:59
原创
8619人浏览过
在JavaScript中,export的意思是“导出”;JavaScript中模块内的所有声明都是本地的,利用export关键字可以导出模块,该命令可以出现在模块的任何位置,导出模块后其他JS文件就可以通过import命令加载该模块。

javascript中export的意思是什么

本教程操作环境:windows10系统、javascript1.8.5版、Dell G3电脑。

javascript中export的意思是什么

默认情况下,JavaScript中在模块内的所有声明都是本地的,外部无法访问。如果需要公开模块中部分声明的内容,并让其它模块加以使用,这个时候就需要导出功能,最简单的方式是添加export关键字导出模块。

可以导出的内容包括类、函数以及var、let和const修饰的变量。export命令可以出现在模块的任何位置,只要处于模块顶层就可以。如果处于块级作用域内,就会报错,import命令也是如此。

立即学习Java免费学习笔记(深入)”;

使用export命令定义了模块的对外接口以后,其他 JS 文件就可以通过import命令加载这个模块。

import命令具有提升效果,会提升到整个模块的头部,首先执行。由于import是静态执行,所以不能使用表达式和变量,这些只有在运行时才能得到结果的语法结构。

一、default导入导出 default import/export

每个模块仅有一个default的导出,导出内容可以是一个function、class,object等。因为这种方式被当做主要的导出内容,导入方式最为简单。

// there is no semi-colon here
export default function() {} 
export default class {}
//示例
class A extends Component{
   ...
}
export default A;
//对应的import示例。
import A from './requireTest'
//default export, 输入 lodash 模块
import _ from 'lodash';
//一条import语句中,同时输入默认方法和其他变量
import _, { each } from 'lodash';
//上述代码对应的export语句
export default function (obj) {
  // ···
}
export function each(obj, iterator, context) {
  // ···
}
export { each as forEach };
登录后复制

注意:一个模块仅仅只允许导出一个default对象,实际导出的是一个default命名的变量进行重命名,等价语句如下。所以import后可以是任意变量名称,且不需要{}。

import any from './requireTest'
import {default as any } from './requireTest'
登录后复制

二、named 导入导出

需要特别注意的是,export命令规定的是对外的接口,必须与模块内部的变量建立一一对应关系。另外,export语句输出的接口,与其对应的值是动态绑定关系,即通过该接口,可以取到模块内部实时的值。

import命令接受一对大括号,里面指定要从其他模块导入的变量名。大括号里面的变量名,必须与被导入模块(profile.js)对外接口的名称相同。如果想为输入的变量重新取一个名字,import命令要使用as关键字,将输入的变量重命名。

import后面的from指定模块文件的位置,可以是相对路径,也可以是绝对路径,.js路径可以省略。如果只是模块名,不带有路径,那么必须有配置文件,告诉 JavaScript 引擎该模块的位置。

// profile.js
//第一种export
export var firstName = 'Michael';
export function f() {};
//第二种export,优先使用这种写法
var firstName = 'Michael';
export {firstName};
function f() {}
export {f};
//main.js
import { firstName, f } from './profile';
import { firstName as surname } from './profile';
登录后复制

三、重命名导入导出

export { myFunction }; // exports a function declared earlier
export const foo = Math.sqrt(2); // exports a constant
登录后复制

import不同模块的导出内容时,必须保持命名的唯一性。此时可以用重命名来解决,包括以下两类。

//导出的时候重命名
function v1() { ... }
function v2() { ... }
export {
      v1 as streamV1,
      v2 as streamV2,
      v2 as streamLatestVersion  //可以用两个不同的名称导出相同的值
};
//导入的时候重命名
// 这两个模块都会导出以`flip`命名的东西。同时导入两者,需要将其中一个的名称改掉。
import {flip as flipOmelet} from "eggs.js";
import {flip as flipHouse} from "real-estate.js";
登录后复制

四、export和import的复合写法

如果在一个模块之中,先输入后输出同一个模块,import语句可以与export语句写在一起。

export { foo, bar } from 'my_module';
// 等同于
import { foo, bar } from 'my_module';
export { foo, bar };
登录后复制

【相关推荐:javascript学习教程

以上就是javascript中export的意思是什么的详细内容,更多请关注php中文网其它相关文章!

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号