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开发。

发布于 2021-06-15 18:12