- Angular UI Development with PrimeNG
- Sudheer Jonna Oleg Varaksin
- 290字
- 2021-07-15 17:32:55
Modules
ECMAScript 2015 has introduced built-in modules. The features of modules are as follows:
- Each module is defined in its own file.
- Functions or variables defined in a module are not visible outside unless you explicitly export them.
- You can place the export keyword in front of any variable, function, or class declaration to export it from the module.
- You can use the import keyword to consume the exported variable, function, or class declaration.
- Modules are singletons. Only a single instance of a module exists, even if it was imported multiple times.
Some exporting possibilities are listed here:
// export data
export let color: string = "red";
// export function
export function sum(num1: number, num2: number) {
return num1 + num1;
}
// export class
export class Rectangle {
constructor(private length: number, private width: number) { }
}
You can declare a variable, function, or class and export it later. You can also use the as keyword to rename exports. A new name is the name used for importing:
class Rectangle {
constructor(private height: number, private width: number) { }
}
export {Rectangle as rect};
Once you have a module with exports, you can access its functionality in another module using the import keyword:
import {sum} from "./lib.js";
import {Rect, Circle} from "./lib.js";
let sum = sum(1, 2);
let rect = new Rect(10, 20);
There is a special case that allows you to import the entire module as a single object. All exported variables, functions, and classes are available on that object as properties:
import * as lib from "./lib.js";
let sum = lib.sum(1, 2);
Imports can be renamed with the as keyword and used under the new name:
import {sum as add} from "./lib.js";
let sum = add(1, 2);
推薦閱讀
- Spring 5.0 By Example
- 程序員面試白皮書
- 微服務(wù)與事件驅(qū)動架構(gòu)
- Django開發(fā)從入門到實踐
- PostgreSQL Replication(Second Edition)
- Android 應(yīng)用案例開發(fā)大全(第3版)
- Mastering Linux Security and Hardening
- Java EE企業(yè)級應(yīng)用開發(fā)教程(Spring+Spring MVC+MyBatis)
- 持續(xù)集成與持續(xù)交付實戰(zhàn):用Jenkins、Travis CI和CircleCI構(gòu)建和發(fā)布大規(guī)模高質(zhì)量軟件
- Troubleshooting Citrix XenApp?
- 區(qū)塊鏈國產(chǎn)化實踐指南:基于Fabric 2.0
- Modernizing Legacy Applications in PHP
- 計算語言學(xué)導(dǎo)論
- Java RESTful Web Service實戰(zhàn)
- 軟硬件綜合系統(tǒng)軟件需求建模及可靠性綜合試驗、分析、評價技術(shù)