原文出处:

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. 程序设计入门——C语言 第7周编程练习 1多项式加法(5分)

    第7周编程练习 依照学术诚信条款,我保证此作业是本人独立完成的. 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数提交答案,系统 ...

  2. java.nio.file.Path

    public interface Path extends Comparable<Path>, Iterable<Path>, Watchable 1. A Path repr ...

  3. [教程] [承風雅傳HSU]用ES4封裝Win7---ES4 Win7封裝教程(未完待續)

    [教程] [承風雅傳HSU]用ES4封裝Win7---ES4 Win7封裝教程(未完待續) a10036it 发表于 2015-7-27 21:11:19 https://www.itsk.com/t ...

  4. C4.5,CART,randomforest的实践

    #################################Weka-J48(C4.5)################################# ################### ...

  5. 声明变量,一定要用 var!

    public static T TryGet<T>(Func<T> func, T ifError = default(T)) { try { return func(); } ...

  6. 突破php的imagecopyresampled 和imagecopyresized 实现图片马JPG

    编辑器加载中...之前有人发布了 利用PNG 图片上述压缩函数的方法 原理利用 PNG的结构IDAT chunks填充一句话webshell,并进行一套取模运算 详见: https://www.ido ...

  7. 51nod1305 Pairwise Sum and Divide

    题目链接:51nod 1305 Pairwise Sum and Divide 看完题我想都没想就直接暴力做了,AC后突然就反应过来了... Floor( (a+b)/(a*b) )=Floor( ( ...

  8. [IOS 开发]TableView如何刷新指定的cell 或section

    //一个section刷新 NSIndexSet *indexSet=[[NSIndexSet alloc]initWithIndex:]; [tableview reloadSections:ind ...

  9. SAP SD 销售凭证如何设置字段必填

    在实际业务中,我们经常遇到需要设置某些字段是必输的.那么在SAP中创建销售订单时如何控制必填字段呢?请看操作手册 第一步:设置屏幕增强 T-CODE:shd0 上截图 1----输入需要控制的事物代码 ...

  10. composer 一些使用说明

    1 使用订制的包 配置 "repositories": [ { "type": "path", "url": " ...