TypeScript快速笔记(一)

刚学习TypeScript,但由于立刻要用,主要是寻求先快速上手,然后再求精。html

推荐学习网站:程序员

    1)https://www.runoob.com/typescript/ts-tutorial.htmltypescript

    2)TypeScript官网编程

    3)白鹭引擎官网(针对游戏开发者)数组

    4)流浪小猫的入门教程 (刚发现,感受很不错)网络

由于之前有C++/C#/基础,经过对比学习的方式能够更快上手,本文针对与C++/C#的一些语法的不一样点来接触TypeScript,而没有提到的部分意味着差异不大(由于是快速上后,了解尚浅,因此差异不大不表明彻底相同)函数

本文不是用于学习TypeScript(若是想学习,请到上面三个网站),而是用于学习TypeScript后的复习和快速记忆。学习

TypeScript相比C++/C#的不一样点(内容源于网络,大部分来源于Runoob):网站

* 分号是可选的:你可使用分号或不使用, 分号在 TypeScript 中是可选的,建议使用。spa

* TypeScript数据类型有:any、number、string、boolean、数组、元组、枚举、void、null、undefined、never

* Any类型:任意值是 TypeScript 针对编程时类型不明确的变量使用的一种数据类型,它经常使用于如下三种状况:

  1)变量的值会动态改变时,好比来自用户的输入,任意值类型可让这些变量跳过编译阶段的类型检查;    

  2)改写现有代码时,任意值容许在编译时可选择地包含或移除类型检查;

  3)定义存储各类类型数据的数组时

* null是一个只有一个值的特殊类型。表示一个空对象引用。用 typeof 检测 null 返回是 object。

* undefined:在 JavaScript 中, undefined 是一个没有设置值的变量。typeof 一个没有值的变量会返回 undefined。

* Null 和 Undefined 是其余任何类型(包括 void)的子类型,能够赋值给其它类型,如数字类型,此时,赋值后的类型会变成 null 或 undefined

* 而在TypeScript中启用严格的空校验(--strictNullChecks)特性,就可使得null 和 undefined 只能被赋值给 void 或自己对应的类型

* never 是其它类型(包括 null 和 undefined)的子类型,表明从不会出现的值。这意味着声明为 never 类型的变量只能被 never 类型所赋值,在函数中它一般表现为抛出异常或没法执行到终止

点(例如无限循环)

* 变量名命名规则特别点:除了下划线 _ 和美圆 $ 符号外,不能包含其余特殊字符,包括空格。

* 变量声明方式:

  1)var [变量名] : [类型] = 值;

  2)var [变量名] : [类型]; // 初值为undefined

  3)var [变量名] = 值; // 进行类型推断,值能够说任意类型,可是区别于any类型,当肯定值的类型后不能修改

  4)var [变量名];  // 同第三种,值能够说任意类型, 默认初始值为 undefined

* 类型断言

  方式1:<类型>值,如:

var str = '1' ; 
var str2:number = <number> <any> str   //str、str2 是 string 类型

  方式2:值 as 类型

 

* 类型断言之因此不被称为类型转换,是由于转换一般意味着某种运行时的支持。可是,类型断言纯粹是一个编译时语法,同时,它也是一种为编译器提供关于如何分析代码的方法

* var和let声明的区别:

  1)let 是块做用域,即其在整个大括号 {} 以内可见;

  2)let在变量声明以前就访问变量的话,会直接提示 ReferenceError,而不像 var 那样使用默认值 undefined。

* const也是变量声明的一种,const 和 let 的做用域是一致的,不一样的是 const 变量一旦被赋值,就不能再改变了。如:const a: string = "Hello";

* let/const/var使用场景:大多数状况下都使用 const,除非你知道你的变量的值还会被改变,这样的话,别人阅读你的代码不用老想着这个变量的值会不会有改变。若是这个变量的值的确须要改变

,例如在 for 循环里面,那么就是用 let。这也同时意味着你之后就不要用 var 了。关于 const 的使用,一些程序员还倾向于只用来声明常量,其它状况下一概使用 let 关键字,我以为这样也是

可行的。

 

持续更新中....

相关文章
相关标签/搜索