原文出处:

http://www.typescriptlang.org/Handbook

基于对web开发的需要和对安神的崇拜,打算学习一下typescript。

能力有限,基本属于在自己认识的基础上进行的翻译,错误难免,主要是通过翻译来学习。

基本类型
在编程中我们需要用到的一些简单的数据元素,比如:数值,字符串,结构体,布尔型,等等。
如你所愿,在javascript里面的那些数据类型,TypeScript都支持,
with a convenient enumeration type thrown in to help things along.(这句暂时没理解好)

布尔型(Boolean)
最基本的数据类型是简单的真或假,在javascript和TypeScript(以及其他语言)中定义为'boolean'。

var isDone: boolean = false;

数值型(Number)
和JavaScript一样,在TypeScript中所有的数值类型都是浮点类型。这些浮点类型值被定义为'number'。

var height: number = 6;

字符串(String)
用javascript编写网页和服务器程序时,另一个基本的部分就是针对文本数据的工作。
和其他语言一样,我们用'string'来定义文本数据类型,和javascript一样,typescript也使用双引号(")
或者单引号(')把字符串数据括起来。

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

数组(Array)
typescript和javascript一样,允许你使用数组。数组类型可以用两种方法中的任何一种来定义。
第一种,你可以通过元素的类型接中括号[]来表示一个指定元素类型的数组:

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

第二种,使用通用的数组类型,Array<元素类型>:

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

注:我个人喜欢第二种。

枚举(Enum)
'enum'是对javascript中标准的集合类型的有用扩展。像其他语言,比如C#,枚举可以为集合类型的数值定义一个更加友好的名称。

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

默认情况下,枚举的元素的序号是用0开始的。我们可以手工设置元素的序号。例如,我们可以用1代替开始元素的0:

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

或者,我们也可以给每一个元素手工设置序号:

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

我们可以通过枚举元素的值来获取元素的名称,例如,如果我们知道元素的值(注:序号)2,但是不确定它和枚举里面的哪个元素匹配,

我们可以通过值查找它的名称:

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

变体(Any)

当我们写程序时,可能需要定义一个还不知道具体类型的变量。这些值可能来自动态的内容,例如从用户或第三方库。
在这些情况下,我们要选择退出类型检查,并让值通过编译时检查。这时,我们通过'any'来标记:

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

any类型在现有的javascript中是一个强大有力的方法,允许您在编译过程中逐步选择和退出类型检查。

注:在我看来是兼容javascript的弱类型。
any类型在你可能只是知道该类型的某一部分内容时,很有用。例如,你可能定义一个数组,但是这个数组混合了不同的类型:

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

list[1] = 100;

注:类似Delphi的variant,或者TValue。

无类型(Void)
也许有时候,any类型并不能准确表示'无',即没有任何类型的类型,不能用某种类型类表示。
您通常可以将此视为不返回值的返回类型的函数:

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

TypeScript Handbook 1——基本类型(翻译)的更多相关文章

  1. typescript handbook 学习笔记4

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

  2. typescript handbook 学习笔记3

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

  3. typescript handbook 学习笔记2

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

  4. 【TypeScript】TypeScript 学习 1——基本类型

    TypeScript 是 JavaScript 的超集,TypeScript 经过编译之后都会生成 JavaScript 代码.TypeScript 最大的特点就是类型化,因此才叫做 TypeScri ...

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

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

  6. TypeScript完全解读(26课时)_12.TypeScript完全解读-高级类型(1)

    12.TypeScript完全解读-高级类型(1) 高级类型中文网的地址:https://typescript.bootcss.com/advanced-types.html 创建新的测试文件 ind ...

  7. TypeScript完全解读(26课时)_13.TypeScript完全解读-高级类型(2)

    13.TypeScript完全解读-高级类型(2) 高级类型中文网的地址:https://typescript.bootcss.com/advanced-types.html 创建文件并在index. ...

  8. TypeScript Handbook 2——接口1(翻译)

    接口(Interfaces) One of TypeScript's core principles is that type-checking focuses on the 'shape' that ...

  9. TypeScript中的枚举类型

    TypeScript拓展了Javascript原生的标准数据类型集,增加了枚举类型(enmu)和其他语言一 样 它提供我们一种数字类型的值,用来设置由于辨别的名字和方法 enum Students { ...

随机推荐

  1. 一次java性能调优总结

    我们的系统中新开发了一个数据抽取的功能,东西做完后,一看执行时间那叫一个恼火.参考同类系统同样功能的执行时间,目标:将本地数据处理时间压缩到5秒以内.   第一步: 要想知道哪个地方需要优化,仅凭感觉 ...

  2. SQL基础--索引

    索引的概念: 在数据库中索引是用于提升数据库查询操作性能的一种手段,但在频繁更新的表上,索引反而会降低性能. 常用的索引结构: B*树索引 位图索引 B树索引: B书索引是最基本的索引结构,Oracl ...

  3. Android之Dialer之紧急号码

    Android之Dialer之紧急号码 e over any other (e.g. supplementary service related) number analysis. a) 112 an ...

  4. openssl evp RSA 加密解密

    openssl evp RSA 加密解密 可以直接使用RSA.h 提供的接口 如下测试使用EVP提供的RSA接口 1. EVP提供的RSA 加密解密 主要接口: int EVP_PKEY_encryp ...

  5. mac命令学习记录

    1. 查找程序运行路径: which xxxx 2. 查找文件安装路径: whereis xxxx; 3. 编辑配置文件:vi ./.xxx : 进入需要编辑的文件: i  进行编辑  :输入:wq ...

  6. python 基本语法

    第一个python程序 打开Sublime Text -->输出 print"Hello World" -->保存为frist.py -->打开命令行运行,运行p ...

  7. shell中创建mysql库和执行sql脚本

    以前执行oracle脚本都是放到plsql中执行 mysql 脚本执行: (1).先创建一个worlddb库 (2).导入sql脚本: 这就ok啦,哈哈.

  8. redhat自定义安装必选

    redhat自定义安装必选 1.桌面 ked桌面 x 窗口系统 2.应用程序 编辑器 基于文本的互联网 图形互联网 3.服务器 服务器配置工具 万维网服务器 Windows文件 FTP服务器

  9. Python 对不均衡数据进行Over sample(重抽样)

    需要重采样的数据文件(Libsvm format),如heart_scale +1 1:0.708333 2:1 3:1 4:-0.320755 5:-0.105023 6:-1 7:1 8:-0.4 ...

  10. Python:循环语句

    while 在某种条件下,执行某段程序 >>> w=0 >>> while w<5: ... print 'w :',w ... w=w+1 ... w : ...