TypeScript编程入门(四):import和export
import和export简介
TypeScript 中的 export 和 import,体现了其模块化的开发特点。
export 语句用于从文件(或模块)中导出函数, 对象或者基础类型, 语法如下:
export { name1, name2, …, nameN };
nameN 表示要导出的标识符, 可以在另一个文件中通过 import 语句导入。
import 与 export 对应, 用于导入其它文件(模块)导出的函数, 对象或者其他基础类型, 语法如下:
import defaultMember from "module-name";
import * as name from "module-name";
import { member } from "module-name";
import { member as alias } from "module-name";
import { member1 , member2 } from "module-name";
import { member1 , member2 as alias2 , [...] } from "module-name";
name 用来接收导入的值的对象的名称;
member, memberN 要导入的外部模块的导出名称;
defaultMember 要导入的外部模块的默认导出的名称;
alias, aliasN 要导入的外部模块的导出的别名;
module-name 要导入的外部模块的名称, 通常是文件名;
使用方法:
Export导出类型:
1、命名导出
如:
export { myFunction } // 导出已经声明的函数
export const foo = Math.sqrt(2) // 导出一个常量
示例:
Export function cube(x: number): number {
return x * x * x;
}
const foo: number = Math.PI * Math.sqrt(2);
export { foo }
在另一个文件中导入使用:
import { cube, foo } from './mylib';
console.log(cube(3)); // 27
console.log(foo); // 4.555806215962888
2、默认导出
一个文件(模块)默认的导出只能有一个, 可以是类,函数, 对象等, 示例:
// mylib.ts
export default function (x: number): number {
return x * x * x;
}
在另一个文件导入中使用:
import cube from './mylib';
console.log(cute(3)); // 27
编译并执行上方的命名导出示例。
从图中编译前后的对比可以看到TypeScript和JavaScript的差异,编译后的代码,依然是熟悉的JavaScript中的exports.和require,TypeScript中的写法,只是语法不同。
学习TypeScript的第四篇笔记,依然没有感觉到比JavaScript很优势的地方。目前TypeScript展示的优势,还不足以让JavaScript程序员转为TypeScript开发。