资讯专栏INFORMATION COLUMN

TypeScript学习2-数据类型

starsfun / 795人阅读

摘要:另外提供了枚举类型。数组和元组数组有两种声明方式元组是一种特殊的数组元组越界时,会以联合类型来处理,具体请查阅文档。枚举枚举类型与,语言相比,另外提供了一个便利特性,可以拿到枚举的名称。

变量类型

TypeScript支持的变量类型与JavaScript基本一样。另外提供了枚举类型

这里还是给出一些例子去理解TypeScript的变量类型使用,具体的语言知识可以查看文档。

原始类型
// boolean
let success: boolean = true;
// number
let num1: number = 12;
let num2: number = 0xab; // 支持多种进制
// string
let str1: string = "abc";

除上述示例,还有null, undefined, symbol类型,可以参看文档。

数组和元组

数组有两种声明方式:

let arr1: string[] = ["hello", "world"];
let arr2: Array = ["hello", "world"];

元组是一种特殊的数组

let arr1: ["string", "number"] = ["hello", 123];
元组越界时,会以联合类型来处理,具体请查阅文档。
枚举

枚举类型与C#,Java语言相比,另外提供了一个便利特性,可以拿到枚举的名称。

enum Color {Red = 1, Green, Blue}
let colorName: string = Color[2];

console.log(colorName);  // 显示"Green"因为上面代码里它的值是2
any, void

any表示任意类型,可以在类型不确定时使用(能不用就不要用),如:

第三方的返回值,你无法确定类型

你不确定你将会用到哪些类型

void正好相反,表示没有类型,一般用于没有返回值的函数

null, undefined

类型定义和JavaScript一致

TypeScript里面,可以赋给:本身类型、any、void

object

object类型是基本的6个类型之外的其他类型的基类。

使用时需注意,用object声明时,后面只能当object使用,如:

let a: object = new Date();
a.hasOwnProperty("name"); // ok
a.getDate(); // error
never

never是个比较特殊的类型,表示永远不会到达。

典型的场景就是异常抛出函数的返回值。

function bizError(code: number, msg: string): never {
   throw new Error({
       code,
       msg
   }); 
}
类型断言

类型断言,我觉得也可以理解为强制类型转换。

这个特性和强类型语言类型,看几个例子理解一下:

// 尖括号式
let var1: any = "abc";
console.log((var1).substring(1));

// as
let var2: object = new Array();
console.log((var2 as Array).push(1));
类型推断

有些情况下,不需要指明变量类型,TypeScript可以根据上下文自动推断类型。如下示例:

let a = "abc";
console.log(a.substring(1));

let obj1 = {
    str1: "abc",
    num1: 123
};

let { str1, num1 } = obj1;
参考

TypeScript语言手册 https://www.tslang.cn/docs/ha...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/110303.html

相关文章

  • TypeScript - 一种思维方式

    摘要:怎么影响了我的思考方式对前端开发者来说,能强化了面向接口编程这一理念。使用的过程就是在加深理解的过程,确实面向接口编程天然和静态类型更为亲密。摘要: 学会TS思考方式。 原文:TypeScript - 一种思维方式 作者:zhangwang Fundebug经授权转载,版权归原作者所有。 电影《降临》中有一个观点,语言会影响人的思维方式,对于前端工程师来说,使用 typescript 开...

    noONE 评论0 收藏0
  • typescript - 一种思维方式

    摘要:怎么影响了我的思考方式对前端开发者来说,能强化了面向接口编程这一理念。使用的过程就是在加深理解的过程,确实面向接口编程天然和静态类型更为亲密。 电影《降临》中有一个观点,语言会影响人的思维方式,对于前端工程师来说,使用 typescript 开发无疑就是在尝试换一种思维方式做事情。 其实直到最近,我才开始系统的学习 typescript ,前后大概花了一个月左右的时间。在这之前,我也在...

    CKJOKER 评论0 收藏0
  • TypeScript入门学习之路

    摘要:学习之路学习之路安装环境起步开发工具自动编译文件中的数据类型中的函数中类的定义继承中的继承中的继承类的静态属性和静态方法类的多态的抽象类中的接口中的泛型学习之路安装环境查看版本起步新建通过命令编译此时路径下 ...

    jemygraw 评论0 收藏0
  • typeScript学习笔记

    摘要:联合类型,指赋值的时候可以是联合类型中的某一个。任意属性允许创建对象的时候,定义接口中没有的属性。常见的类型推论,还提现在函数表达式中。 typeScript是什么? TypeScript 是 JavaScript 的一个超集,主要提供了类型系统和对 ES6 的支持 安装typeScript npm install -g typeScript 安装完成查看版本: tsc -v typ...

    Guakin_Huang 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<