强类型是TypeScript值得称赞的特性,对于很多后端开发者来说是绝对的福利,加上静态检查使得我们可以在开发态就可以发现很多问题。

TypeScript中的类型和JavaScript差不多,下面我们一一介绍。

1 布尔(boolean)

let isMe:boolean = true

2 数值(number)

同JavaScript中一样,数值类型都是浮点数,十进制,十六进制,八进制和二进制都支持。

let count:number = 10;
let hexLiteral: number = 0xf00d;
let binaryLiteral: number = 0b1010;
let octalLiteral: number = 0o744;

3 字符串(string)

字符串可以使用双引号和单引号

let msg: string = "Hello World!";
let warning: string = 'alert';

另外,我们还可以使用字符模板,我们可以直接定义多行字符串,还可以使用变量。在JavaScript中要想使用多行必须使用+连接起来,现在字符模板简单多了

let name:string = `Winfred`;
let log:string = `Hello, My name is ${name} I am 20 years old`

4 数组(Array)

有两种方式可以定义数组

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

5 元组(Tuple)

元组是已知的元素数量和类型的数组,每个元素类型不一定要相同。

let t:[string, number] = ['msg', 10]
console.log(t[0]) // msg
console.log(t[1]) // 10

6 枚举(enum)

枚举在JavaScript,对其补充,不过在C++,Java语言中都是有的

enum Color {Red, Green, Blue};
let c1: Color = Color.Green;
let c2: Color = Color[0];
// 默认从0开始编号,我们可以改变其默认编号,下面两种都是可以的
enum Color {Red = 1, Green, Blue};
enum Color {Red = 1, Green = 2, Blue = 4};

7 任意值(any)

any是指不知道的类型,直到给其赋值后才知道其类型,而且可以改变其类型

let msg:any = 10;
msg = "string";
msg = true;
// 编辑器不会报错,可以正常使用

8 空值,null和undefined

在TypeScript中void,null,undefined都是一种类型。

let t1:void = null;
let t2:void = undefined;
let t3:null = null;
let t4:undefined = undefined;

声明一个空值只能给其赋值null或者undefined

9 never

never就是永远达不到的类型,很少用,一般用于异常等

TypeScript笔记 3--基础类型的更多相关文章

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

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

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

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

  3. TS学习笔记----(一)基础类型

    布尔值: boolean let isDone: boolean = false; 数字: number 和JavaScript一样,TS里的所有数字都是浮点数. 支持十进制和十六进制字面量,TS还支 ...

  4. JDK7学习笔记之基础类型

    printf()的基础用法: 变量的基础用法: 字符的输出:

  5. python笔记---数据基础类型

    s = 'laonanHai' s1 = s.capitalize() #首字母大写,其他字母小写 s2 = s.upper() #全部大写 s3 = s.lower() #全部小写 print(s, ...

  6. Typescript学习笔记(一)基础类型

    为了面向ng2和前端未来,开始搞向ts,ts是微软出的一枚语言,作为es6的超集,他出的一些特性还是蛮好用的(略坑).对于我等纯前端(从开始就接触javascript)的人来说,真想说,这特么什么鬼. ...

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

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

  8. TypeScript 素描-基础类型

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

  9. Typescript基础类型

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

随机推荐

  1. Selenide UI 自动化测试

       我没有拼写错误,确实不是 Selenium ,但是,只要是 Web UI 自动化测试框架,基本上都是基于Selenium 的.Selenide 也不例外.那为啥不直接用Selenium呢? 因为 ...

  2. eclipse在debug模式下总是自动进入到ThreadPoolExecutor类中

    当我们将web项目发布到tomcat服务器中,并且以debug模式启动的时候,总是自动跳转到 ThreadPoolExecutor 类中,如下: 解决办法 在eclipse中点击Window-> ...

  3. python核心编写视频笔记--模块的导入

    1. 模块的重新导入 有这样的一种情况:我们首先创建了一个.py文件,输入模块代码.保存后,我们进入ipython3的环境,引入这个模块.然后再ipython3环境外修改这个模块文件,在ipython ...

  4. MySQL视图,触发器,事务,存储过程,函数

    create triggr triafterinsertcmdlog after insert on cmd_log FOR EACH ROW trigger_body .#NEW : 代表新的记录 ...

  5. SQL基础学习_06_集合运算和联结

    集合运算 1. 并集:UNION     例:     SELECT shohin_id, shohin_mei    FROM Shohin    UNION    SELECT shohin_id ...

  6. Python核心编程笔记--私有化

    一.私有化的实现 在Python中想定义一个类是比较简单的,比如要定义一个Person类,如下代码即可: # -*- coding: utf-8 -*- # __author : Demon # da ...

  7. Sql 关于 查俩个表 第二个表用到第一个表的某一个数据

    今天在写程序的时候遇到一个问题  有一个这个需求 select top 1 Name,[Address] from UserInfo;select * from shoppingAddress whe ...

  8. STM32f103x IAP远程升级小结

    最近在面试的时候遇到一个关于IAP远程程序升级的问题,由于之前所做的项目没有涉及到远程升级需求,当时一脸懵呆,不过回答的还是不错的,今天针对STM32F103系列调试了IAP的程序,这里做一下小结,如 ...

  9. virtuoso数据库的安装方法

    数据库virtuoso有两种安装配置方式 第一种就是直接在系统中默认安装,拷贝virtuoso的安装文件,直接默认安装. 第二种是配置安装方式 参考地址:http://vos.openlinksw.c ...

  10. Java JSON数据处理

    比方说要处理这么 {"data":[{"salt":"","plaintext":"xiaoxu", ...