Difference between export default myVar and export default myFunc()
Is there any perf difference between:
const myVar = myFunc()
export default myVar
and:
export default myFunc()
I prefer the 2nd notation (more concise, less code), but I don't know if it has an impact on performance. Each code loading this module will point to the same reference, or to a new one ?
javascript ecmascript-6 export
add a comment |
Is there any perf difference between:
const myVar = myFunc()
export default myVar
and:
export default myFunc()
I prefer the 2nd notation (more concise, less code), but I don't know if it has an impact on performance. Each code loading this module will point to the same reference, or to a new one ?
javascript ecmascript-6 export
It's the samemyFunc()
will only be called once.
– Keith
Nov 13 '18 at 12:15
1
"Each code loading this module will point to the same reference, or to a new one ?" Modules are always only evaluated once (the first time they are loaded).
– Felix Kling
Nov 13 '18 at 17:23
add a comment |
Is there any perf difference between:
const myVar = myFunc()
export default myVar
and:
export default myFunc()
I prefer the 2nd notation (more concise, less code), but I don't know if it has an impact on performance. Each code loading this module will point to the same reference, or to a new one ?
javascript ecmascript-6 export
Is there any perf difference between:
const myVar = myFunc()
export default myVar
and:
export default myFunc()
I prefer the 2nd notation (more concise, less code), but I don't know if it has an impact on performance. Each code loading this module will point to the same reference, or to a new one ?
javascript ecmascript-6 export
javascript ecmascript-6 export
asked Nov 13 '18 at 12:13
soywodsoywod
1,5711819
1,5711819
It's the samemyFunc()
will only be called once.
– Keith
Nov 13 '18 at 12:15
1
"Each code loading this module will point to the same reference, or to a new one ?" Modules are always only evaluated once (the first time they are loaded).
– Felix Kling
Nov 13 '18 at 17:23
add a comment |
It's the samemyFunc()
will only be called once.
– Keith
Nov 13 '18 at 12:15
1
"Each code loading this module will point to the same reference, or to a new one ?" Modules are always only evaluated once (the first time they are loaded).
– Felix Kling
Nov 13 '18 at 17:23
It's the same
myFunc()
will only be called once.– Keith
Nov 13 '18 at 12:15
It's the same
myFunc()
will only be called once.– Keith
Nov 13 '18 at 12:15
1
1
"Each code loading this module will point to the same reference, or to a new one ?" Modules are always only evaluated once (the first time they are loaded).
– Felix Kling
Nov 13 '18 at 17:23
"Each code loading this module will point to the same reference, or to a new one ?" Modules are always only evaluated once (the first time they are loaded).
– Felix Kling
Nov 13 '18 at 17:23
add a comment |
2 Answers
2
active
oldest
votes
There is no difference in this case.
You simply use an alias.
So the reference will be the same each time.
Okey, and is the 2nd considered as a bad practice ? I don't see this often, but I like the idea. Even withexport default function() { ... }
, but seems not so common.
– soywod
Nov 14 '18 at 8:28
@soywod The most common (and good, my opinion) practice is to export 1 object from a file, which contents a list of props. So you will have a singleton interface for a file. And all your imports will have the same structure. And they are expandable better. As for exporting only 1 thing for a file it's no a big sence if you use 1st or 2nd, but the better option will be an object with 1 field (for same import/export structure)
– Eugene Mihaylin
Nov 14 '18 at 9:07
I see it a bit differently. The fact to use default export force yourself to apply the Single Responsibility pattern. I have never more than one export to do by file (except for types in fact, so I useimport myFunc, {MyType} from ...
). That why I often use the default, and that's why I came to thisexport default function() { ... }
.
– soywod
Nov 14 '18 at 10:26
add a comment |
You can find really good explanations here:
https://developer.mozilla.org/en-US/docs/web/javascript/reference/statements/export#Using_the_default_export
and
What is "export default" in javascript?
2
Link only answers are considered poor quality. It also doesn't seem to address the question.
– Felix Kling
Nov 13 '18 at 17:21
I know how import / export works, this is not answering my question.
– soywod
Nov 14 '18 at 8:27
@soywod Apologies then, note taken.
– squeekyDave
Nov 14 '18 at 9:23
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53280782%2fdifference-between-export-default-myvar-and-export-default-myfunc%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
There is no difference in this case.
You simply use an alias.
So the reference will be the same each time.
Okey, and is the 2nd considered as a bad practice ? I don't see this often, but I like the idea. Even withexport default function() { ... }
, but seems not so common.
– soywod
Nov 14 '18 at 8:28
@soywod The most common (and good, my opinion) practice is to export 1 object from a file, which contents a list of props. So you will have a singleton interface for a file. And all your imports will have the same structure. And they are expandable better. As for exporting only 1 thing for a file it's no a big sence if you use 1st or 2nd, but the better option will be an object with 1 field (for same import/export structure)
– Eugene Mihaylin
Nov 14 '18 at 9:07
I see it a bit differently. The fact to use default export force yourself to apply the Single Responsibility pattern. I have never more than one export to do by file (except for types in fact, so I useimport myFunc, {MyType} from ...
). That why I often use the default, and that's why I came to thisexport default function() { ... }
.
– soywod
Nov 14 '18 at 10:26
add a comment |
There is no difference in this case.
You simply use an alias.
So the reference will be the same each time.
Okey, and is the 2nd considered as a bad practice ? I don't see this often, but I like the idea. Even withexport default function() { ... }
, but seems not so common.
– soywod
Nov 14 '18 at 8:28
@soywod The most common (and good, my opinion) practice is to export 1 object from a file, which contents a list of props. So you will have a singleton interface for a file. And all your imports will have the same structure. And they are expandable better. As for exporting only 1 thing for a file it's no a big sence if you use 1st or 2nd, but the better option will be an object with 1 field (for same import/export structure)
– Eugene Mihaylin
Nov 14 '18 at 9:07
I see it a bit differently. The fact to use default export force yourself to apply the Single Responsibility pattern. I have never more than one export to do by file (except for types in fact, so I useimport myFunc, {MyType} from ...
). That why I often use the default, and that's why I came to thisexport default function() { ... }
.
– soywod
Nov 14 '18 at 10:26
add a comment |
There is no difference in this case.
You simply use an alias.
So the reference will be the same each time.
There is no difference in this case.
You simply use an alias.
So the reference will be the same each time.
answered Nov 13 '18 at 12:17
Eugene MihaylinEugene Mihaylin
9581424
9581424
Okey, and is the 2nd considered as a bad practice ? I don't see this often, but I like the idea. Even withexport default function() { ... }
, but seems not so common.
– soywod
Nov 14 '18 at 8:28
@soywod The most common (and good, my opinion) practice is to export 1 object from a file, which contents a list of props. So you will have a singleton interface for a file. And all your imports will have the same structure. And they are expandable better. As for exporting only 1 thing for a file it's no a big sence if you use 1st or 2nd, but the better option will be an object with 1 field (for same import/export structure)
– Eugene Mihaylin
Nov 14 '18 at 9:07
I see it a bit differently. The fact to use default export force yourself to apply the Single Responsibility pattern. I have never more than one export to do by file (except for types in fact, so I useimport myFunc, {MyType} from ...
). That why I often use the default, and that's why I came to thisexport default function() { ... }
.
– soywod
Nov 14 '18 at 10:26
add a comment |
Okey, and is the 2nd considered as a bad practice ? I don't see this often, but I like the idea. Even withexport default function() { ... }
, but seems not so common.
– soywod
Nov 14 '18 at 8:28
@soywod The most common (and good, my opinion) practice is to export 1 object from a file, which contents a list of props. So you will have a singleton interface for a file. And all your imports will have the same structure. And they are expandable better. As for exporting only 1 thing for a file it's no a big sence if you use 1st or 2nd, but the better option will be an object with 1 field (for same import/export structure)
– Eugene Mihaylin
Nov 14 '18 at 9:07
I see it a bit differently. The fact to use default export force yourself to apply the Single Responsibility pattern. I have never more than one export to do by file (except for types in fact, so I useimport myFunc, {MyType} from ...
). That why I often use the default, and that's why I came to thisexport default function() { ... }
.
– soywod
Nov 14 '18 at 10:26
Okey, and is the 2nd considered as a bad practice ? I don't see this often, but I like the idea. Even with
export default function() { ... }
, but seems not so common.– soywod
Nov 14 '18 at 8:28
Okey, and is the 2nd considered as a bad practice ? I don't see this often, but I like the idea. Even with
export default function() { ... }
, but seems not so common.– soywod
Nov 14 '18 at 8:28
@soywod The most common (and good, my opinion) practice is to export 1 object from a file, which contents a list of props. So you will have a singleton interface for a file. And all your imports will have the same structure. And they are expandable better. As for exporting only 1 thing for a file it's no a big sence if you use 1st or 2nd, but the better option will be an object with 1 field (for same import/export structure)
– Eugene Mihaylin
Nov 14 '18 at 9:07
@soywod The most common (and good, my opinion) practice is to export 1 object from a file, which contents a list of props. So you will have a singleton interface for a file. And all your imports will have the same structure. And they are expandable better. As for exporting only 1 thing for a file it's no a big sence if you use 1st or 2nd, but the better option will be an object with 1 field (for same import/export structure)
– Eugene Mihaylin
Nov 14 '18 at 9:07
I see it a bit differently. The fact to use default export force yourself to apply the Single Responsibility pattern. I have never more than one export to do by file (except for types in fact, so I use
import myFunc, {MyType} from ...
). That why I often use the default, and that's why I came to this export default function() { ... }
.– soywod
Nov 14 '18 at 10:26
I see it a bit differently. The fact to use default export force yourself to apply the Single Responsibility pattern. I have never more than one export to do by file (except for types in fact, so I use
import myFunc, {MyType} from ...
). That why I often use the default, and that's why I came to this export default function() { ... }
.– soywod
Nov 14 '18 at 10:26
add a comment |
You can find really good explanations here:
https://developer.mozilla.org/en-US/docs/web/javascript/reference/statements/export#Using_the_default_export
and
What is "export default" in javascript?
2
Link only answers are considered poor quality. It also doesn't seem to address the question.
– Felix Kling
Nov 13 '18 at 17:21
I know how import / export works, this is not answering my question.
– soywod
Nov 14 '18 at 8:27
@soywod Apologies then, note taken.
– squeekyDave
Nov 14 '18 at 9:23
add a comment |
You can find really good explanations here:
https://developer.mozilla.org/en-US/docs/web/javascript/reference/statements/export#Using_the_default_export
and
What is "export default" in javascript?
2
Link only answers are considered poor quality. It also doesn't seem to address the question.
– Felix Kling
Nov 13 '18 at 17:21
I know how import / export works, this is not answering my question.
– soywod
Nov 14 '18 at 8:27
@soywod Apologies then, note taken.
– squeekyDave
Nov 14 '18 at 9:23
add a comment |
You can find really good explanations here:
https://developer.mozilla.org/en-US/docs/web/javascript/reference/statements/export#Using_the_default_export
and
What is "export default" in javascript?
You can find really good explanations here:
https://developer.mozilla.org/en-US/docs/web/javascript/reference/statements/export#Using_the_default_export
and
What is "export default" in javascript?
answered Nov 13 '18 at 13:37
squeekyDavesqueekyDave
373114
373114
2
Link only answers are considered poor quality. It also doesn't seem to address the question.
– Felix Kling
Nov 13 '18 at 17:21
I know how import / export works, this is not answering my question.
– soywod
Nov 14 '18 at 8:27
@soywod Apologies then, note taken.
– squeekyDave
Nov 14 '18 at 9:23
add a comment |
2
Link only answers are considered poor quality. It also doesn't seem to address the question.
– Felix Kling
Nov 13 '18 at 17:21
I know how import / export works, this is not answering my question.
– soywod
Nov 14 '18 at 8:27
@soywod Apologies then, note taken.
– squeekyDave
Nov 14 '18 at 9:23
2
2
Link only answers are considered poor quality. It also doesn't seem to address the question.
– Felix Kling
Nov 13 '18 at 17:21
Link only answers are considered poor quality. It also doesn't seem to address the question.
– Felix Kling
Nov 13 '18 at 17:21
I know how import / export works, this is not answering my question.
– soywod
Nov 14 '18 at 8:27
I know how import / export works, this is not answering my question.
– soywod
Nov 14 '18 at 8:27
@soywod Apologies then, note taken.
– squeekyDave
Nov 14 '18 at 9:23
@soywod Apologies then, note taken.
– squeekyDave
Nov 14 '18 at 9:23
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53280782%2fdifference-between-export-default-myvar-and-export-default-myfunc%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
It's the same
myFunc()
will only be called once.– Keith
Nov 13 '18 at 12:15
1
"Each code loading this module will point to the same reference, or to a new one ?" Modules are always only evaluated once (the first time they are loaded).
– Felix Kling
Nov 13 '18 at 17:23