美文网首页
typescript

typescript

作者: 简爱_cdde | 来源:发表于2024-07-15 15:37 被阅读0次

    * 基础类型语法:

    * let name: string;

    * let age: number;

    * let isStudent: boolean;

    * let list: string[];

    * let list1: Array<string>;

    * let person: { name: string, age: number };

    * let fn: (name: string, age: number) => void;

    * let result: string = fn('张三', 18);

    标识符

    * type -- 类型别名

    * interface -- 接口

    * | -- 联合类型

    * & -- 交叉类型

    * : -- 类型声明

    * .d.ts -- 声明文件

    * <> -- 泛型

    * export -- 导出

    * import -- 导入

    * namespace -- 命名空间

    * module -- 模块

    * 类型别名:

    * 就是将一个类型定义为一个新的类型名称,这样可以更方便的引用类型,提高代码的可读性。

    * 别名是通过type关键字定义的,语法格式如下:

    * type 别名 = 类型

    * 示例:

    * type Name = string;

    *

    * 接口:

    * 就是将对象的属性和方法进行抽象,定义为一个接口,然后对象可以实现这个接口,实现接口的对象必须包含接口中定义的属性和方法。

    * 接口是通过interface关键字定义的,语法格式如下:

    * interface 接口名 {

    *  属性名: 类型;

    *  方法名(): 返回值类型;

    * }

    * 示例:

    * interface Person {

    *  name: string;

    *  age: number;

    *  sayHello(): void;

    * }

    *

    * 联合类型:

    * 就是将多个类型合并为一个类型,可以通过|符号进行类型的合并。

    * 示例:

    * let name: string | number;

    *

    * 交叉类型:

    * 就是将多个类型合并为一个类型,可以通过&符号进行类型的合并。

    * 示例:

    * interface Person {

    *  name: string;

    *  age: number;

    * }

    * interface Student {

    *  grade: string;

    * }

    * let person: Person & Student;

    *

    * 类型声明:

    * 就是将一个变量或者函数的类型进行声明,可以通过冒号:进行类型的声明。

    * 示例:

    * let name: string;

    *

    *

    * 声明文件:

    * 就是将类型声明单独抽离出来,放到一个单独的文件中,然后通过import语句引入到其他文件中。

    * 声明文件的文件后缀名是.d.ts,语法格式如下:

    * declare module '模块名' {

    *  export interface Person {

    *    name: string;

    *    age: number;

    *  }

    * }

    * 示例:

    * declare module 'person' {

    *  export interface Person {

    *    name: string;

    *    age: number;

    *  }

    * }

    *

    * 泛型:

    * 就是将类型参数化,可以在函数、类、接口中使用泛型,提高代码的复用性。

    * 泛型是通过<>符号进行类型参数的定义,语法格式如下:

    * function fn<T>(arg: T): T {

    *  return arg;

    * }

    *

    * 示例:

    * let result: string = fn<string>('hello');

    *

    *

    *

    * 模块:

    * 就是将多个类型、变量、函数等封装到一个模块中,然后通过export关键字导出模块中的内容,通过import关键字引入模块中的内容。

    * 模块是通过export关键字导出模块中的内容,通过import关键字引入模块中的内容,语法格式如下:

    * export { Person, Student };

    * import { Person, Student } from './person';

    *

    * 命名空间:

    * 就是将多个类型、变量、函数等封装到一个命名空间中,然后通过export关键字导出命名空间中的内容,通过import关键字引入命名空间中的内容。

    * 命名空间是通过namespace关键字定义的,语法格式如下:

    * namespace 命名空间名 {

    *  export interface Person {

    *    name: string;

    *    age: number;

    *  }

    *  export interface Student {

    *    grade: string;

    *  }

    * }

    * import { Person, Student } from './person';

    *

    * 命名空间和模块:

    * 命名空间和模块是两种不同的封装方式,命名空间是通过namespace关键字定义的,模块是通过export关键字定义的。

    *

    相关文章

      网友评论

          本文标题:typescript

          本文链接:https://www.haomeiwen.com/subject/cjyhhjtx.html