【TypeScript】TypeScript 学习 1——基本类型
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——基本类型的更多相关文章
- typescript handbook 学习笔记4
概述 这是我学习typescript的笔记.写这个笔记的原因主要有2个,一个是熟悉相关的写法:另一个是理清其中一些晦涩的东西.供以后开发时参考,相信对其他人也有用. 学习typescript建议直接看 ...
- typescript handbook 学习笔记3
概述 这是我学习typescript的笔记.写这个笔记的原因主要有2个,一个是熟悉相关的写法:另一个是理清其中一些晦涩的东西.供以后开发时参考,相信对其他人也有用. 学习typescript建议直接看 ...
- Typescript开发学习总结(附大量代码)
如果评定前端在最近五年的重大突破,Typescript肯定能名列其中,重大到各大技术论坛.大厂面试都认为Typescript应当是前端的一项必会技能.作为一名消息闭塞到被同事调侃成"新石器时 ...
- typescript handbook 学习笔记2
概述 这是我学习typescript的笔记.写这个笔记的原因主要有2个,一个是熟悉相关的写法:另一个是理清其中一些晦涩的东西.供以后开发时参考,相信对其他人也有用. 学习typescript建议直接看 ...
- [TypeScript] TypeScript对象转JSON字符串范例
[TypeScript] TypeScript对象转JSON字符串范例 Playground http://tinyurl.com/njbrnrv Samples class DataTable { ...
- Python学习之数组类型一:
Python学习之数组类型一: Numpy中的向量与矩阵: 1.创建: 向量.矩阵均由array函数创建,区别在于向量是v=array( [逗号分隔的元素] ), 矩阵是M=array( [[ ]] ...
- python3.4学习笔记(二) 类型判断,异常处理,终止程序
python3.4学习笔记(二) 类型判断,异常处理,终止程序,实例代码: #idle中按F5可以运行代码 #引入外部模块 import xxx #random模块,randint(开始数,结束数) ...
- 02-Swift学习笔记-元组类型
02-Swift学习笔记-元组类型 元组类型由N个任意类型的数据组成(N>=0) 元组类型的数据称为"元素" eg var size = (x:100 , y:100) si ...
- TypeScript语法学习--基本类型
查看官方文档手册:链接:https://www.tslang.cn/docs/home.html (一)Boolean 最基本的数据类型就是简单的true/false值 The most basic ...
随机推荐
- Oracle to_date()函数的用法《转载》
to_date()是Oracle数据库函数的代表函数之一,下文对Oracle to_date()函数的几种用法作了详细的介绍说明, 原文地址:http://database.51cto.com/art ...
- mybatis什么时候需要声明jdbcType?
经常会见到以下两种写法:1. #{bookId}2. #{bookId,jdbcType=INTEGER}一般情况下,两种写法都可以.它们都可以获取Dao层传递过来的参数.但是,当传入的参数为null ...
- css3文字截断
width:200px; height:14px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; text-overflow ...
- 转)Ubuntu安装mysql5.7
主要参考http://blog.csdn.net/q894523017/article/details/50705392 包去官网下载,解压,安装步骤如下: 上文中有错误,正确如下: sudo dpk ...
- Java学生信息增删改查(并没用数据库)
一个泛型的应用,Java版本增删改查,写的简陋,望批评指正 2016-07-02 很久前写的一个程序了.拿出来存一下,不是为了展示啥,自己用的时候还可以看看.写的很粗糙. import java.io ...
- win8.1下cocos2d-x 3.x环境搭建
Win8.1下Cocos2d-x 3.4环境搭建 第一步: 需要下载的:(Windows 64位系统下环境搭建) Ant apache-ant-1.9.4-bin.zip NDK androi ...
- 帧动画 连续播放多张图片动画 以及ui动画 SoundPool
drawable下有很多图片 可以 <?xml version="1.0" encoding="utf-8"?> <animation-li ...
- spring框架之依赖注入(DI)
1. IOC和DI的概念 * IOC -- Inverse of Control,控制反转,将对象的创建权反转给Spring!! * DI -- Dependency Injection,依赖注入,在 ...
- mysql中float、double、decimal三种类型,以及数值产生误差的原因
单精度浮点数用4字节(32bit)表示浮点数,采用IEEE754标准的计算机浮点数,在内部是用二进制表示的,如:7.22用32位二进制是表示不下的,所以就导致不精确了,存取会出现误差. mysql中f ...
- c++ 对象复制引用时何时调用构造函数、析构函数
class TEST{ private : public : TEST() {std::cout << "constructor" << std::endl ...