


This article mainly introduces to you JavaScript The usage and difference of export, import and export default in ES6. The introduction in the article is very detailed. I believe it will be helpful for everyone to learn ES6. If you need it Friends can refer to it, let’s take a look below.
Preface
I believe many people have used export, export default, and import, but what is the difference between them? Before looking at the differences between them, let's first look at their usage.
Usage of ES6 import and export
The js module loading solution has appeared before ES6. The main ones are CommonJS and AMD specifications. commonjs is mainly used in servers to achieve synchronous loading, such as nodejs. AMD specifications apply to browsers, such as requirejs, for asynchronous loading. There are also CMD specifications for synchronous loading solutions such as seaJS.
ES6 implements module functions at the level of language specifications, and the implementation is quite simple. It can completely replace the existing CommonJS and AMD specifications and become a universal module solution for browsers and servers.
ES6 module mainly has two functions: export and import
export is used to output this module externally (a file can be understood as a module ) The interface of the variable
#import is used to load another module containing the export interface in a module.
That is to say, after using the export command to define the external interface of the module, other JS files can load this module (file) through the import command. As follows (assuming files a and b are in the same directory)
// a.js var sex="boy"; var echo=function(value){ console.log(value) } export {sex,echo} //通过向大括号中添加sex,echo变量并且export输出,就可以将对应变量值以sex、echo变量标识符形式暴露给其他文件而被读取到 //不能写成export sex这样的方式,如果这样就相当于export "boy",外部文件就获取不到该文件的内部变量sex的值,因为没有对外输出变量接口,只是输出的字符串。
// b.js 通过import获取a.js文件的内部变量,{}括号内的变量来自于a.js文件export出的变量标识符。 import {sex,echo} from "./a.js" console.log(sex) // boy echo(sex) // boy
a.js file can also be written according to the following export syntax, but it is not as intuitive as the above and is not recommended.
// a.js export var sex="boy"; export var echo=function(value){ console.log(value) } //因为function echo(){}等价于 var echo=function(){}所以也可以写成 export function echo(value){ console.log(value) }
The above is the basic usage of export and module, and then expand the study
As can be seen from the previous example, b.js uses import When issuing commands, users need to know the variable identifiers exposed by a.js, otherwise they cannot be loaded. You can use the export default command to specify the default output for the module, so you do not need to know the variable name of the module to be loaded.
//a.js var sex="boy"; export default sex(sex不能加大括号) //原本直接export sex外部是无法识别的,加上default就可以了.但是一个文件内最多只能有一个export default。 其实此处相当于为sex变量值"boy"起了一个系统默认的变量名default,自然default只能有一个值,所以一个文件内不能有多个export default。
// b.js 本质上,a.js文件的export default输出一个叫做default的变量,然后系统允许你为它取任意名字。所以可以为import的模块起任何变量名,且不需要用大括号包含 import any from "./a.js" import any12 from "./a.js" console.log(any,any12) // boy,boy
The difference between export, import and export default in ES6
In Javascript ES6, both export and export default can be used for export Constants, functions, files, modules, etc., you can import them in other files or modules by import+(constant | function | file | module) name , so that it can be used, but in a file or module, there can be multiple exports and imports, and there is only one export default.
Specific use:
1,
//demo1.js export const str = 'hello world' export function f(a){ return a+1 }
Corresponding import method:
//demo2.js import { str, f } from 'demo1' //也可以分开写两次,导入的时候带花括号
2,
//demo1.js export default const str = 'hello world'
Corresponding import method:
//demo2.js import str from 'demo1' //导入的时候没有花括号
Summary
The above is the detailed content of Detailed explanation of the usage and difference between export import and export default in JavaScript ES6. For more information, please follow other related articles on the PHP Chinese website!

Different JavaScript engines have different effects when parsing and executing JavaScript code, because the implementation principles and optimization strategies of each engine differ. 1. Lexical analysis: convert source code into lexical unit. 2. Grammar analysis: Generate an abstract syntax tree. 3. Optimization and compilation: Generate machine code through the JIT compiler. 4. Execute: Run the machine code. V8 engine optimizes through instant compilation and hidden class, SpiderMonkey uses a type inference system, resulting in different performance performance on the same code.

JavaScript's applications in the real world include server-side programming, mobile application development and Internet of Things control: 1. Server-side programming is realized through Node.js, suitable for high concurrent request processing. 2. Mobile application development is carried out through ReactNative and supports cross-platform deployment. 3. Used for IoT device control through Johnny-Five library, suitable for hardware interaction.

I built a functional multi-tenant SaaS application (an EdTech app) with your everyday tech tool and you can do the same. First, what’s a multi-tenant SaaS application? Multi-tenant SaaS applications let you serve multiple customers from a sing

This article demonstrates frontend integration with a backend secured by Permit, building a functional EdTech SaaS application using Next.js. The frontend fetches user permissions to control UI visibility and ensures API requests adhere to role-base

JavaScript is the core language of modern web development and is widely used for its diversity and flexibility. 1) Front-end development: build dynamic web pages and single-page applications through DOM operations and modern frameworks (such as React, Vue.js, Angular). 2) Server-side development: Node.js uses a non-blocking I/O model to handle high concurrency and real-time applications. 3) Mobile and desktop application development: cross-platform development is realized through ReactNative and Electron to improve development efficiency.

The latest trends in JavaScript include the rise of TypeScript, the popularity of modern frameworks and libraries, and the application of WebAssembly. Future prospects cover more powerful type systems, the development of server-side JavaScript, the expansion of artificial intelligence and machine learning, and the potential of IoT and edge computing.

JavaScript is the cornerstone of modern web development, and its main functions include event-driven programming, dynamic content generation and asynchronous programming. 1) Event-driven programming allows web pages to change dynamically according to user operations. 2) Dynamic content generation allows page content to be adjusted according to conditions. 3) Asynchronous programming ensures that the user interface is not blocked. JavaScript is widely used in web interaction, single-page application and server-side development, greatly improving the flexibility of user experience and cross-platform development.

Python is more suitable for data science and machine learning, while JavaScript is more suitable for front-end and full-stack development. 1. Python is known for its concise syntax and rich library ecosystem, and is suitable for data analysis and web development. 2. JavaScript is the core of front-end development. Node.js supports server-side programming and is suitable for full-stack development.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

SublimeText3 English version
Recommended: Win version, supports code prompts!

Notepad++7.3.1
Easy-to-use and free code editor

Atom editor mac version download
The most popular open source editor