基础类型分为:数字、字符串、数组、元组、枚举、Any、Object、Null、Undefined、Never、Void

各种类型写法如下:

1.数字(number)

let num:number = 1;

2.字符串(string)

let str:string = 'test'

3.数组

多种写法

1.类型加中括号, type+[],例:

let arr:number[]=[1,2,3]  // 纯数字数组

2. 数组泛型Array<number>

let arr:Array<number> = [1,2,3]

4.元组

表示一个已知元素数量和类型的数组

let yArr:['string',number] = [ 'test', 1 ];  表示有两个已知类型的成员,注意:可只声明,后续通过下标赋值

ps:官网上有说 越界的元素(即通过例:yArr[2]=1或push的方式添加元素)测试报错,暂时保留意见

5.Any

未指定类型,且通过类型推论得不到类型的情况被视为any类型,

let a;  // 未声明类型,且类型推论得不到结果的情况视为any类型,any类型不经过类型检测

6.枚举

enum关键字声明,后续详细说明

7.Object

object表示非原始类型,也就是除numberstringbooleansymbolnullundefined之外的类型。

8.Void

与any相反,表示没有任何类型,声明void类型没什么用,只能给它赋值undefined、null,通常用它来表示函数没有返回值:

function fn():void{

}

9.Null和Undefined

TypeScript里,undefinednull两者各自有自己的类型分别叫做undefinednull。 和 void相似,

它们的本身的类型用处不是很大,默认情况下nullundefined是所有类型的子类型。 就是说你可以把 nullundefined赋值给number类型的变量。

10.Never

never类型表示的是那些永不存在的值的类型。

类型声明相关:

类型推论: 当未明确指出类型时,ts会根据初始值来进行推论,例如:

let num = 1;

此时未明确给出num的类型,但ts会根据你初始值为数字类型而推论出num的类型为number类型,当再次赋值为其他类型时就会报错

num = ‘test’;   //error! Type '"test"' is not assignable to type 'number'

如果声明时未赋值,let num;此时ts无法推论出num的类型,将会认为它是any类型,后面将不会对它进行任何类型检测

类型断言:告诉编译器 “把这个变量当作xx类型来处理”,例如:

function fn(p:number | string):void{
    console.log(p.length)
}
报错:Property 'length' does not exist on type 'string | number'.Property 'length' does not exist on type 'number'.
利用 类型断言改造,告诉编译器把这里当作string来处理:
function fn(p:number | string):void{
    console.log((<string>p).length)
}  // 通过编译
两种写法:<string>p  p as string

typescript之基础类型的更多相关文章

  1. TypeScript 之 基础类型、高级类型

    基础类型:https://m.runoob.com/manual/gitbook/TypeScript/_book/doc/handbook/Basic%20Types.html 高级类型:https ...

  2. TypeScript 素描-基础类型

    博文读自 TypeScript 官方文档而来,不具有学习性,仅是本人学习时记录以供日后翻阅 ,有学习TypeScript的朋友还请去看更为详细的官方文档 TypeScript官网文档中的基础类型, T ...

  3. 学习笔记:TypeScript入门——基础类型

    前言: TypeScript官网断断续续看过几遍,不知道项目中如何使用,有机会还是要实践一下.现在再把文档上不懂的知识点理一遍. 基础类型 1.什么是元组Tuple? 元组类型允许表示一个已知元素数量 ...

  4. typescript 添加基础类型的扩展方法

    以时间转换为案例: //声明接口,也是在声明date这个基础类型要定义一个format的扩展方法,不写接口声明会报错 interface Date { Format(fmt:string):strin ...

  5. Typescript基础类型

    1.布尔值__boolean 2.数字__number----除了支持十进制和十六进制字面量,Typescript还支持ECMAScript 2015中引入的二进制和八进制字面量. 3.字符串__st ...

  6. TypeScript学习笔记之基础类型

    从今天开始学习typescript了,记录ts学习点滴,最后,使用ts结合nodejs开发后端应用,一起共勉吧: typescript最新版本2.6,所有演示代码均基于此版本 开始之前确定安装了如下n ...

  7. TypeScript基础类型,类实例和函数类型声明

    TypeScript(TS)是微软研发的编程语言,是JavaScript的超集,也就是在JavaScript的基础上添加了一些特性.其中之一就是类型声明. 一.基础类型 TS的基础类型有 Boolea ...

  8. TypeScript完全解读(26课时)_2.TypeScript完全解读-基础类型

    2.TypeScript完全解读-基础类型 src下新建example文件夹并新建文件.basic-type.ts.截图中单词拼错了.后需注意一下是basic-type.ts 可以装tslint的插件 ...

  9. TypeScript(3)基础类型

    基础类型 TypeScript 支持与 JavaScript 几乎相同的数据类型,此外还提供了实用的枚举类型方便我们使用. 布尔值 最基本的数据类型就是简单的true/false值,在JavaScri ...

随机推荐

  1. 如何打开 win 10 内置应用

    gpedit.msc windows设置 安全设置 本地策略 安全选项 >> 用户账户控制:用于内置管理员账户的管理员批准模式:已启用

  2. hdu1237 简单计算器[STL 栈]

    目录 题目地址 题干 代码和解释 参考 题目地址 hdu1237 题干 代码和解释 解本题时使用了STL 栈,要记得使用#include<stack>. 解本题时使用了isdigit()函 ...

  3. photoshop 的安装破解

    最近学习需要用到photoshop,但是photoshop试用期只有30天,于是尝试破解photoshop.参考了网上的很多博客,失败了好几次,终于找到一篇靠谱的博客,很顺利的成功了.在这里记录一下, ...

  4. Alpha3

    队名:福大帮 组长博客链接:https://www.cnblogs.com/mhq-mhq/p/11899921.html 作业博客 :https://edu.cnblogs.com/campus/f ...

  5. windows环境下安装nginx

    (1)下载 官网:http://nginx.org/en/docs/windows.html 下载:http://nginx.org/en/docs/windows.html 点击:nginx/Win ...

  6. [转]Spring事务嵌套引发的血案---Transaction rolled back because it has been marked as rollback-only

    原文地址:https://blog.csdn.net/f641385712/article/details/80445912 1.概述 想必大家一想到事务,就想到ACID,或者也会想到CAP.但笔者今 ...

  7. mac安装MySQLdb:IndexError: string index out of range

    使用mac安装MySQLdb的时候出现string index out of range 大概的错误是这样的: 然后尝试手动安装,我下载了包后,依然出现这个错误. 于是百度了下: https://ww ...

  8. BackgroundWorkerHelper

    public static class BackgroundWorkerHelper { public static void Run(DoWorkEventHandler doWork, RunWo ...

  9. 手工下载php的composer软件包,如何让项目自动加载包里的类

    有的时候需要手工下载php的composer包 1.将下载好的包放到项目的vendor目录下,比如包名:pinguo/php-aop 2.然后查看软件包目录(vendor/pinguo/php-aop ...

  10. [LeetCode] 362. Design Hit Counter 设计点击计数器

    Design a hit counter which counts the number of hits received in the past 5 minutes. Each function a ...