Typescript中的数据类型实例总结

目录
  • 是什么
  • 有哪些
    • boolean
    • number
    • string
    • array
    • tuple
    • enum
    • any
    • null和undefined
    • void
    • never
    • object
  • 总结

是什么

typescript和javascript几乎一样,拥有相同的数据类型,另外在javascript基础上提供了更加实用的类型供开发使用。

在开发阶段,可以为明确的变量定义为某种类型,这样typescript就能在编译阶段进行类型检查,当类型不符合预期结果的时候则会出现错误提示

有哪些

typescript的数据类型主要有如下:

  • 1、boolean(布尔类型)
  • 2、number(数字类型)
  • 3、string(字符串类型)
  • 4、array(数组类型)
  • 5、tuple(元组类型)
  • 6、enum(枚举类型)
  • 7、any(任意类型)
  • 8、null和undefined类型
  • 9、void类型
  • 10、never类型
  • 11、object(对象类型)

boolean

let flag:boolean = true;
flag = 123;    // 错误
flag = false;  // 正确

number

数字类型,和javascript一样,typescript的数值类型都是浮点数,可支持二进制、八进制、十进制和十六进制。

let num:number = 123;
num = '456';   // 错误
num = 456;     // 正确

进制表示:

let decLiteral:number = 6; // 十进制
let hexLiteral:number = 0xfood; // 十六进制
let binaryLiteral:number = 0b1010; // 二进制
let octalLiteral:number = 0o744; // 八进制

string

字符串类型,和javascript一样,可以使用双引号(")或单引号(')表示字符串

let str:string = 'this is ts';
str = 'test';

作为超集,当然也可以使用模板字符串进行包裹,通过${}嵌入变量

let name:string = `Gene`;
let sentence:string = `Hello, my name is ${name}`

array

数组类型,跟javascript一致,通过[]进行包裹,有两种写法:

方式一:元素类型后面接上[]

let arr:string[] = ['12','23'];
arr = ['45','56'];

方式二:使用数组泛型,Array<元素类型>:

let arr:Array<number> = [1,2];
arr = ['45','55'];

tuple

元组类型,允许表示一个已知元素和类型的数组,各元素的类型不必相同

let tupleArr:[number,string,boolean];
tupleArr = [12,'34',true]; // yes
tupleArr = [12,'34']; // no

enum

enum类型是对javascript标准数据类型的一个补充,使用枚举类型可以为一组数值赋予友好的名字

enum Color {Red,Green,Blue}
let c:Color = Color.Green;

any

可以指定任何类型的值,在编程阶段还不清楚类型的变量指定一个类型,不希望类型检查器对这些值进行检查而是直接让它们通过编译阶段的检查,这时候可以使用any类型

使用any类型允许被赋值为任意类型,甚至可以调用其属性、方法

let num:any = 123;
num = 'str';
num = true;

定义存储各种类型数据的数组时,示例代码如下:

let arrayList:any[] = [1,false,'fine'];
arrayList[1] = 100;

null和undefined

在javascript中null表示 “什么都没有”,是一个只有一个值的特殊类型,表示一个空对象引用,而undefined表示一个没有设置值的变量。

默认情况下null和undefined是所有类型的子类型,就是说你可以把null和undefined赋值给number类型的变量

let num:number | undefined; // 数值类型或者undefined
console.log(num); // 正确
num = 123;
console.log(num); // 正确

但是ts配置了--strictNullChecks标记,null和undefined只能赋值给void和它们各自

void

用于标识方法返回值的类型,表示该方法没有返回值。

function hello():void {
    alert('Hello Runoob')
}

never

never是其他类型(包括null和undefined)的子类型,可以赋值给任何类型,代表从不会出现的值,

但是没有类型是never的子类型,这意味着生命never的变量只能被never类型所赋值。

never类型一般用来指定哪些总是会抛出异常,无限循环

let a:never;
a = 123; // 错误的写法

a = (() => { // 正确的写法
    throw new Errow('错误')
})()

// 返回的never的函数必须存在无法达到的终点
function error(message:string): never {
    thorw new Error(message);
}

object

对象类型,非原始类型,常见的形式通过{}进行包裹

let obj:object;
obj = {name:'Zhang',age:23};

总结

和javascript基本一致,也分成:

  • 1、基本类型
  • 2、引用类型

在基础类型上,typescript增添了void、any、emun等原始类型。

到此这篇关于Typescript数据类型的文章就介绍到这了,更多相关Typescript数据类型内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Typescript中的数据类型实例总结

    目录 是什么 有哪些 boolean number string array tuple enum any null和undefined void never object 总结 是什么 typescript和javascript几乎一样,拥有相同的数据类型,另外在javascript基础上提供了更加实用的类型供开发使用. 在开发阶段,可以为明确的变量定义为某种类型,这样typescript就能在编译阶段进行类型检查,当类型不符合预期结果的时候则会出现错误提示 有哪些 typescript的数据

  • TypeScript 基本数据类型实例详解

    目录 TypeScript 介绍 类型分配 类型推导 数组 元组 object null 和 undefined 特殊类型 any unknown never void TypeScript 介绍 TypeScript 是 JavaScript 的超集,提供了 JavaScript 的所有功能,并提供了可选的静态类型.Mixin.类.接口和泛型等特性. TypeScript 的目标是通过其类型系统帮助及早发现错误并提高 JavaScript 开发效率. 通过 TypeScript 编译器或 Ba

  • 详解 Java中日期数据类型的处理之格式转换的实例

    详解 Java中日期数据类型的处理之格式转换的实例 概要: 日期以及时间格式处理,在Java中时间格式一般会涉及到的数据类型包括Calendar类和Date类. Date类: 1.Date类型转String类型(以时间格式1970-01-01 01:01:01为例) //yyyy-MM-dd HH:mm:ss表示24时间进制 SimpleDateFormat sDateFormat=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); String

  • TypeScript中正确使用interface和type的方法实例

    目录 前言 interface type 附:interface和type不同点 总结 前言 interface 和 type 都是用来定义类型,可以理解定义 shape ,那么 shape 表示一种设计大框,或者说只要具有某些特征或者行为就是为一类事物.在有些面向例如 Java 语言中,interface 用于定义行为,如果一个类实现了某一个 interface 表示该类具有某种行为或者说具有某种能力,例如writable 或者 readable .可以通过行为来对事物进行划分.interfa

  • TypeScript中定义变量方式以及数据类型详解

    目录 TypeScript定义变量 变量声明格式 变量类型推导 JS和TS的数据类型 TS中使用JS的数据类型 number类型 boolean类型 string类型 Array类型 Object类型 Symbol类型 null和undefined类型 TS自身特有的数据类型 any类型 unknown类型 void类型 never类型 tuple类型 总结 TypeScript定义变量 变量声明格式 我在前面强调过,在TypeScript中定义变量需要指定 标识符 的类型. 所以完整的声明格式

  • 深入了解TypeScript中的映射类型

    目录 1. 基本概念 (1)索引访问类型 (2)索引签名 (3)联合类型 (4)keyof 类型运算符 (5)元组类型 (6)条件类型 2. 映射类型 (1)初体验 (2)概念 (3)实例 3. 实用程序中的映射 (1)Partial (2)Exclude 4. 构建映射类型 DRY 原则(Don't repeat yourself)是软件开发中最重要的原则之一,即不要重复自己.应该避免在代码中的两个或多个地方存在重复的业务逻辑. 在 TypeScript 中,映射类型可以帮助我们避免编写重复的

  • TypeScript类型系统自定义数据类型教程示例

    目录 TypeScript 类型系统和自定义数据类型 什么是类型系统 函数类型 类型别名 可选参数 默认参数 函数重载 接口类型 可选属性 只读属性 接口扩展 多重接口声明 接口的索引签名 用接口描述函数 类类型 implements关键字 类的静态端类型和实例端类型 将 this 作为类型 将 this 作为参数 枚举 枚举类型 枚举的成员类型 枚举的成员 字面量类型 联合类型 交叉类型 泛型 泛型函数 泛型接口 泛型类 在工厂函数中使用泛型 泛型约束 在泛型约束中使用类型参数 在泛型中使用条

  • Swift使用Cocoa中的数据类型教程

    作为对 Objective-C 互用性(互操作性)的一部分,Swift提供快捷高效的方式来处理Cocoa数据类型. Swift 会自动将一些 Objective-C 类型转换为 Swift 类型,以及将 Swift 类型转换为 Objective-C 类型.在 Objective-C 和 Swift 中也有一些具有互用性的数据类型.那些可转换的数据类型或者具有互用性的数据类型被称为bridged数据类型.举个例子,在 Swift 中,您可以将一个Array值传递给一个要求为NSArray对象的方

  • Android 中ContentProvider的实例详解

    Android 中ContentProvider的实例详解 Content Provider 的简单介绍: * Android中的Content Provider 机制可支持在多个应用中存储和读取数据.这也是跨应用 共享数据的唯一方式.在Android系统中,没有一个公共的内存区域,供多个应用共享存储数据: * Android 提供了一些主要数据类型的ContentProvider ,比如:音频.视频.图片和私人通讯录等: 在android.provider 包下面找到一些android提供的C

  • TypeScript 中接口详解

    在 TypeScript 中,接口是用作约束作用的,在编译成 JavaScript 的时候,所有的接口都会被擦除掉,因为 JavaScript 中并没有接口这一概念. 先看看一个简单的例子: function printLabel(labelledObj: { label: string }) { console.log(labelledObj.label); } var myObj = { size: 10, label: "Size 10 Object" }; printLabel

随机推荐