Javascript导入/导出语句

Javascript导入/导出语句,javascript,Javascript,在javascript中,它们是否相似(第1部分和第2部分) [第1部分] const sething = () => { //Something } const sething1 = () => { //Something } const sething = () => { //Something } export default sething [第二部分] const sething = () => { //Something } co

在javascript中,它们是否相似(第1部分和第2部分)

[第1部分]

const sething = () => {
  //Something
}

const sething1 = () => {
  //Something 
}
const sething = () => {
  //Something 
}

export default sething
[第二部分]

const sething = () => {
  //Something
}

const sething1 = () => {
  //Something 
}
const sething = () => {
  //Something 
}

export default sething
然后

import sething from /location 

const sething1 = () => {
  //Something 
}
如果两者不相似,有人能告诉我为什么不相似吗?并建议阅读任何文章


同样,如果我们对类执行类似操作,结果会是什么?

我认为您是在问:“第1部分是否等同于第2部分”,其中第2部分在单独的文件中定义了
设置,然后将其导入到与
设置1
相同的范围中

我的答案是:

  • 有一些方法是等效的
  • 有一些方式是不同的
它们如何等效? 在第1部分第2部分中,最后将
设置
设置1
定义为常量。如果您所关心的只是应用程序的行为,那么在大多数情况下,我会将它们视为等效的

它们有何不同?
  • 如果您在其他地方重复使用
    设置
    ,就可以在那里简单地导入它。您可以在第2部分中这样做,但必须在第1部分中重构或重复您自己。或者可能有一个大文件
  • 如果希望重构名称
    设置
    ,则在第1部分中比在第2部分中更容易。在第2部分中,大多数IDE将更改导入的名称,而不更改导入文件中常量的名称。如果在其他地方使用,这些用途将不会被重命名。通过使用命名导出而不是默认导出,可以很容易地解决此问题

  • 我希望这有助于回答您的问题

    这两个例子基本上是一样的

    在第一个示例中,您在一个文件中有两个不是
    ==
    的函数,在第二个示例中,您定义了两个也不是
    ==
    的函数,唯一的区别是,您导入了其中一个

    我的意思是


    相似的?对平等?没有

    他们显然不是一回事。导入/导出的性能远不及将两个函数放在一个文件中,它只需要更多的代码

    两者的功能相同,不过在以后导入的文件中定义函数也有好处


    如果需要,您可以多次使用它们,然后您可以在一个地方轻松地更改它,而不必到处更改函数。否则这会是类似的。

    ?对平等?不,你能告诉我你的意思吗?在回答部分,它们在细节上是不相等的。这是一个非常广泛的问题。为了避免它被标记为这样,你能给我们更多的细节,确切地说你对什么不同感到好奇吗?@Hamms我试图把这个问题的点连起来(因为某种原因没有得到回答)->@Luca你能告诉我们你的意思吗?在答案部分,它们在细节上是不相等的