强类型是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. Spring任务调度之Quartz集成

    推荐一个博客:http://blog.csdn.net/column/details/14251.html 基本概念 Job:是一个接口,只有一个方法void execute(JobExecution ...

  2. 3、树莓派的配置:改静态IP、连接ssh、安装中文字体、安装谷歌输入法、增加USB电流、修改触摸屏分辨率、扩展sd卡空间、修复vi和vim乱码问题、安装配置远程桌面vnc

    本博文仅作本人操作过程的记录,留作备忘.自强不息 QQ1222698 1.连接上HDMI线,插上触摸屏,插上键盘,鼠标,网线,启动.系统正常启动,但是一直闪烁,不停的黑屏,是由于触摸屏的usb口供电不 ...

  3. python自动安装mysql5.7

    python自动安装mysql5.7 python版本:python2.6 centos版本:centos6.9 mysql版本:mysql5.7.19 安装目录路径和数据目录路径都是固定,当然也可以 ...

  4. JavaScript的DOM编程--03--读写属性节点

    读写属性节点: 1)可以直接通过 cityNode.id 这样的方式来获取和设置属性节点的值 2)通过元素节点的 getAttributeNode 方法来获取属性节点, 然后在通过 nodeValue ...

  5. Java核心技术(Java白皮书)卷Ⅰ 第一章 Java程序设计概述

    第1章 Java程序设计概述1.1 Java程序设计平台 具有令人赏心悦目的语法和易于理解的语言,与其他许多优秀语言一样,Java满足这些要求. 可移植性 垃圾收集 提供大型的库  如果想要有奇特的绘 ...

  6. DBA 优化法则

    硬件资源是根本,DBA是为了充分利用硬件资源:(更新中--) 统一SQL语句: 减少SQL嵌套: 执行计划返回结果集(决定计划走向): 合理使用临时表: tempdb分多文件: OLTP 条件使用变量 ...

  7. 自动化测试-Selenium家谱介绍

    一.自动化测试定义 自动化测试是通工具录制或编写脚本的方式模拟手工测试的过程,通过回放或运行脚本来执行测试用例,从而代替人工对系统的功能进行验证. 二.什么样的项目适合做自动化测试 1.需求明确,不会 ...

  8. linux下一键安装redis并设置为后台进程及开机启动

    1.下载适合你的版本的redis(下载页面https://redis.io/download),我下载的是4.0.6版本 wget http://download.redis.io/releases/ ...

  9. VS Code 快捷键(中英文对照版)

    原文地址:https://segmentfault.com/a/1190000007688656 常用 General 按 Press 功能 Function Ctrl + Shift + P,F1 ...

  10. VS2017编译SFML SDK配制环境详解

    SFML和Visual Studio 介绍 如果您在Visual Studio IDE(Visual C ++编译器)中使用SFML,本教程是第一个应该阅读的教程.它将解释如何配置您的SFML项目. ...