当前位置: 首页 > 知识库问答 >
问题:

什么是JavaScript中的“导出默认值”?

袁元明
2023-03-14

文件:safeString.js

// Build out our basic SafeString type
function SafeString(string) {
  this.string = string;
}

SafeString.prototype.toString = function() {
  return "" + this.string;
};

export default SafeString;

我以前从未见过export default。对于export default,是否有更容易理解的等效内容?

共有3个答案

孔欣可
2023-03-14

当函数没有名称时,可以使用export default function(){}。一个文件中只能有一个默认导出。另一种选择是命名导出。

本页详细描述了export default以及我发现非常有用的模块的其他细节。

毕魁
2023-03-14

export default用于从脚本文件导出单个类、函数或基元。

导出也可以写成

export default function SafeString(string) {
  this.string = string;
}

SafeString.prototype.toString = function() {
  return "" + this.string;
};

这用于在另一个脚本文件中导入该函数

比如在app.js中,您可以

import SafeString from './handlebars/safe-string';

顾名思义,它用于从脚本文件或模块中导出函数、对象、类或表达式

Utilites.js

export function cube(x) {
  return x * x * x;
}
export const foo = Math.PI + Math.SQRT2;

可以将其导入并用作

应用程序JS

import { cube, foo } from 'Utilities';
console.log(cube(3)); // 27
console.log(foo);    // 4.555806215962888

import * as utilities from 'Utilities';
console.log(utilities.cube(3)); // 27
console.log(utilities.foo);    // 4.555806215962888

当使用export default时,这就简单多了。脚本文件只导出一件事。cube.js

export default function cube(x) {
  return x * x * x;
};

并用作app.js

import Cube from 'cube';
console.log(Cube(3)); // 27
邓昊天
2023-03-14

它是ES6模块系统的一部分,在这里描述。该文档中还有一个有用的示例:

如果模块定义默认导出:

export default function() { console.log("hello!") }

则可以通过省略花括号来导入默认导出:

import foo from "foo";
foo(); // hello!

更新:截至2015年6月,模块系统在ECMAScript 2015规范的§15.2中定义,特别是export语法在§15.2.3中定义。

 类似资料:
  • 问题内容: 档案:SafeString.js 我从未见过。是否有任何等效的东西更容易理解? 问题答案: 它是ES6模块系统的一部分,该文档中还有一个有用的示例: 如果模块定义了默认导出: 那么您可以通过省略花括号来导入默认导出: 更新: 自2015年6月,该模块系统中定义§15.2和在特定语法中定义§15.2.3ECMAScript的2015规范的。

  • 我想问最后一句是什么意思和做(导出默认的HelloWorld;),但我找不到关于它的任何教程。

  • 问题内容: 我想问一下最后一句话的意思和作用(导出默认的HelloWorld;),但是我找不到关于它的任何教程。 问题答案: 出口喜欢和进口,比如是一部分ES6模块系统。 模块是一个独立的单元,可以使用将资产暴露给其他模块,并使用来从其他模块获取资产。 在您的代码中: 在ES6中,有两种导出: 命名出口 -例如,是名称为的命名出口。可以使用导入命名模块。在这种情况下,导入的名称应与导出的名称相同。

  • 我正在使用JAXP XSLT API(javax.xml.transform)来转换xml文件。 TransformerFactory的javadoc表示:它使用以下有序查找过程来确定要加载的TransformerFactory实现类: 使用javax。xml。使改变TransformerFactory系统属性 使用JRE目录中的属性文件“lib/jaxp.properties”。此配置文件采用标

  • Kubernetes的pods(部署)活跃性和就绪性问题可以用这个初始延迟来配置----这意味着问题将在容器启动后的这多次发送之后开始。如果没有指定,默认值是多少?我好像找不到了。periodSeconds的默认值记录为10秒。 谢谢

  • 问题内容: 我经常使用时髦的东西作为字典的键,因此,我想知道什么是正确的方法-这是通过为对象实现良好的哈希方法实现的。我知道这里提出的其他问题[是实现 hash的好方法,但我想了解默认值如何用于自定义对象,以及是否有可能依赖它。 我注意到可变项显然是不可哈希的,因为会引发错误……但是奇怪的是,自定义类是可哈希的: 那么,有人知道此默认哈希函数如何工作吗?通过了解这一点,我想知道: 如果我放置与字典