Typescript

安装

  • npm config set registry https://registry.npmmirror.com

  • npm install -g typescript

  • 安装成功后

    • tsc -v 查看版本号

    • tsc 文件名:转换成js

    • node文件名 :运行

基础类型

不写类型或者写any类型时,会自己判断究竟是哪种类型

任意类型

any

  • any可以省略

  • 实例

let a = 1

数字类型

number

  • 实例

let binaryLiteral: number = 0b1010; // 二进制
let octalLiteral: number = 0o744;    // 八进制
let decLiteral: number = 6;    // 十进制
let hexLiteral: number = 0xf00d;    // 十六进制

字符串类型

string

  • 实例

let uname: string = "Runoob";
console.log(uname)

布尔类型

boolean

  • 实例

let flag: boolean = true;

数组类型

数组中一般为为数字,后面不跟类型的话,会自主判断

  • 实例

let arr: number[] = [1, 2];
let arr:number[]=[1,2,'a']  //会报错,因为arr中的a不属于number
let arr=[1,2,'a']  //ts将没有意义,但不会报错

元组

let arr:number[]=[1,2,'a']如何解决不会报错,可以设置多个

let x: [string, number,number];

let x: [string, number];
x=['a',1]  //正常
x=[1,'a'] //报错

枚举

相当于自己定义的数据类型,输出的是下标

enum Color {Red, Green, Blue};
let c: Color = Color.Blue;   
console.log(c);    // 输出 2
enum S {代发货=5,待收货=10}
var s:S=S.代发货
console.log(S) 
//输出为: {
  "5": "代发货",
  "10": "待收货",
  "代发货": 5,
  "待收货": 10
} 
console.log(s)  //输出5 

void

用于标识方法返回值的类型,表示该方法没有返回值。

没有return时使用,以前会输出undefined

function hello(): void {
    alert("Hello Runoob");
}
与函数一样使用

null

undefined

never

never 是其它类型(包括 null 和 undefined)的子类型,代表从不会出现的值。

变量声明

类型断言

当 S 类型是 T 类型的子集,或者 T 类型是 S 类型的子集时,S 能被成功断言成 T。

var str='1'
function a():string{
    return str
}
var str2:number=a() as any as number  //得先到any才能到number
console.log(str2)

变量作用域

三种:全局、类、局部

var global_num = 12          // 全局变量
class Numbers { 
   num_val = 13;             // 实例变量
   static sval = 10;         // 静态变量
   
   storeNum():void { 
      var local_num = 14;    // 局部变量
   } 
} 
console.log("全局变量为: "+global_num)  
console.log(Numbers.sval)   // 静态变量
var obj = new Numbers(); 
console.log("实例变量: "+obj.num_val)

类中的变量本来要new类之后才可以用

静态的变量直接可用,不用new

Numbers.sval = 10; // 静态变量
var obj = new Numbers();
console.log("实例变量: " + obj.num_val);  //局部变量

运算符

加法正常使用(也可以字符串连接),乘法必须转换成数字

  • 且运算符得到的是最后一个值

找到一个假就停止

var r=1&&undefined&&false
console.log(r)  //undefined
var r=1&&2&&false
console.log(r)  //false
var r=1&&2&&true
console.log(r)  //2
var r=1&&2&&5
console.log(r)  //5
  • 或运算符

找到一个真就停止

var a=1&&2&&false
console.log(r)  //1

条件语句

if:判断会自动将括号中的判断成boolean值,来进行执行与否

var num:number = 12; 
if (num % 2==0) { 
    console.log("偶数"); 
} else {
    console.log("奇数"); 
}

循环

for 循环需要添加一个number 声明

var num:number=1
var i:number;
for(i=0;i<5;i++){
    num += i
}
console.log(num) // 输出11

for in 循环中

var j;
var n = "a b c";
for (j in n) {
    console.log(n[j]);
}
//j是下标
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值