TypeScript 是 JavaScript 的超集,TypeScript 经过编译之后都会生成 JavaScript 代码。TypeScript 最大的特点就是类型化,因此才叫做 TypeScript。比起弱类型的 JavaScript,类型化的 TypeScript 显得更加容易维护。

在 TypeScript 中一共有 7 种基本类型。

1、boolean

var isDone: boolean = false;

2、number

代表 JavaScript 中的数字。在 JavaScript 中,无论是“整数”还是“浮点数”,都是以双精度浮点类型存储的。

var height: number = 6;

3、string

代表字符串。跟 JavaScript 一样,可以使用一对双引号(")或一对单引号(')来表示字符串。

var name: string = "bob";
name = 'smith';

4、array

TypeScript 中有两种数组声明方法。

①使用“[]”来声明:

var list: number[] = [1, 2, 3];

②使用数组类型来声明:

var list: Array<number> = [1, 2, 3];

两种声明方式都可以使用,效果并不会有区别。但建议代码中应尽量只使用其中一种,以保持代码风格统一。

5、enum

枚举类型是 TypeScript 中新添加的,而 JavaScript 中是没有这个类型的。

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

跟 C# 一样,如果不声明第一项的值,那么上面 Red 的值就是 0,然后每一项都增加一,即 Green 是 1,Blue 是 2。

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

所以此时 Red 的值为 1,Green 为 2,Blue 为 3。

当然也可以为每一项都指定一个值。

enum Color {
Red = 1,
Green = 2,
Blue = 4
};
var c: Color = Color.Green;

另外枚举类型还有一个比较特殊的功能,假如我们有一个数值,但是我们不知道枚举类型中是否有定义,可以用以下方式来获取:

enum Color {
Red = 1,
Green,
Blue
};
var colorName: string = Color[2];
alert(colorName);
colorName = Color[4];
alert(colorName);

那么将会输出 Green 和 undefined。因为 Green 的值是 2,而没有一个枚举定义的值是 4,所以返回 undefined。

6、any

和 JavaScript 中变量的默认类型一样,指代是动态的,能够赋予任意类型。例如:

var notSure: any = 4;
notSure = "maybe a string instead";
notSure = false; // okay, definitely a boolean

定义为 any 后,将失去语法感知的功能,就相当于写 JavaScript 一样。

值得一提的是,any 可以配合数组来使用:

var list: any[] = [1, true, "free"];

list[1] = 100;

7、void

这个类型仅能在函数中使用,可以将函数的返回类型指定为 void,表示该函数不返回任何值。

function warnUser(): void {
alert("This is my warning message");
}

【TypeScript】TypeScript 学习 1——基本类型的更多相关文章

  1. typescript handbook 学习笔记4

    概述 这是我学习typescript的笔记.写这个笔记的原因主要有2个,一个是熟悉相关的写法:另一个是理清其中一些晦涩的东西.供以后开发时参考,相信对其他人也有用. 学习typescript建议直接看 ...

  2. typescript handbook 学习笔记3

    概述 这是我学习typescript的笔记.写这个笔记的原因主要有2个,一个是熟悉相关的写法:另一个是理清其中一些晦涩的东西.供以后开发时参考,相信对其他人也有用. 学习typescript建议直接看 ...

  3. Typescript开发学习总结(附大量代码)

    如果评定前端在最近五年的重大突破,Typescript肯定能名列其中,重大到各大技术论坛.大厂面试都认为Typescript应当是前端的一项必会技能.作为一名消息闭塞到被同事调侃成"新石器时 ...

  4. typescript handbook 学习笔记2

    概述 这是我学习typescript的笔记.写这个笔记的原因主要有2个,一个是熟悉相关的写法:另一个是理清其中一些晦涩的东西.供以后开发时参考,相信对其他人也有用. 学习typescript建议直接看 ...

  5. [TypeScript] TypeScript对象转JSON字符串范例

    [TypeScript] TypeScript对象转JSON字符串范例 Playground http://tinyurl.com/njbrnrv Samples class DataTable { ...

  6. Python学习之数组类型一:

    Python学习之数组类型一: Numpy中的向量与矩阵: 1.创建:  向量.矩阵均由array函数创建,区别在于向量是v=array( [逗号分隔的元素] ), 矩阵是M=array( [[ ]] ...

  7. python3.4学习笔记(二) 类型判断,异常处理,终止程序

    python3.4学习笔记(二) 类型判断,异常处理,终止程序,实例代码: #idle中按F5可以运行代码 #引入外部模块 import xxx #random模块,randint(开始数,结束数) ...

  8. 02-Swift学习笔记-元组类型

    02-Swift学习笔记-元组类型 元组类型由N个任意类型的数据组成(N>=0) 元组类型的数据称为"元素" eg var size = (x:100 , y:100) si ...

  9. TypeScript语法学习--基本类型

    查看官方文档手册:链接:https://www.tslang.cn/docs/home.html (一)Boolean 最基本的数据类型就是简单的true/false值 The most basic ...

随机推荐

  1. LPSN获取菌python脚本

    本文转载于https://mp.weixin.qq.com/s?__biz=MzIxNzEzODA5NQ==&mid=2649373408&idx=1&sn=232c2cb36 ...

  2. 第七章 二叉搜索树 (d2)AVL树:插入

  3. Django的models操作

    一.先看单表操作 增 方式1: models.book.objects.create( Book_name = "aaa", Book_info = "bbb" ...

  4. springmvc中@RequestMapping的使用

    通过RequestMapping注解可以定义不同的处理器映射规则. 1.1 URL路径映射 @RequestMapping(value="/item")或@RequestMappi ...

  5. Castle ActiveRecord学习(四)延迟加载、分页查询、where条件

    一.延迟加载 //用户发布的主题,一对多:Table:外键表:ColumnKey:外键:Lazy:延迟加载:Cascade:级联操作(级联删除) [HasMany(typeof(ThemeInfo), ...

  6. windows常用的cmd网络命令

    一.ping 它是用来检查网络是否通畅或者网络连接速度的命令.作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:网络上的机器都有唯一确定的IP ...

  7. sqlserver数据库维护常用sql

    1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- 创建 备份 ...

  8. uploadify在chrome下初始化失败,在Firefox下却可以原因探析

    如果没有报错,在其他浏览器下没问题,那就只有一种可能:浏览器flash加载失败,解决办法是,更改浏览器对站点flash的设置.参考下图:

  9. 一句话引发的思考 - synchronized/super

    https://blog.csdn.net/cool__wang/article/details/52459380#commentBox

  10. Canvas游戏计算机图形教程

    TechbrooD   主站 WOW 登录   注册 0首页 1简介 1.1WWW 技术变迁和生态 1.2WWW 学习建议 1.3WWW 互联网基础知识 1.4WWW Web 1.5 WWW Web ...