TypeScript学习和使用

2019-08-04  本文已影响0人  光头小青蛙
1.什么是TypeScript?
2. 下载使用TypeScript
npm install typescript -g

注意,如果要使用es6的语法,下载babel

tsc index.ts
3.数据类型

TypeScript的数据类型和JavaScript(已有的数据类型)的数据类型保持相同,TypeScript新增了元祖Tuple枚举任意值,空值,never,类型断言。 objectnullundefinednumberstringarray这些数据类型相同。

let arr:[string,number,object];//定义数组元素类型
arr=['string',10,{name:"222"}]
console.log(arr)//['string',10.{name:"222"}]
enum  color {red=1,green=2,blue=9}
let first=color.red
console.log(first.blue)//9
console.log(color)//如下图
image.png
let num:any=4;
let count:number=5;//number
count=true;
console.log(typeof num)//number
console.log(typeof count)//报错
num=true
console.log(typeof num)//boolean
function get():void{
    console.log(111)
}
get()
let param:void=undefined;
console.log(param)
function error(message: string): never {
    throw new Error(message);
}
let someValue: string = "this is a string";
let strLength: number = (<string>someValue).length;
console.log(strLength)//16
3.变量声明

TypeScript的变量声明和JavaScript的变量声明都是通过关键字varletconst来声明,这些关键字声明有一定的区别。

let num:number=10;
console.log(num)//10 number类型
4.接口

接口的作用就是为代码定义一些规则,代码在执行的时候,必须按照这些规则来,使用interface关键字定义接口。

interface label {name:string};//定义一个label接口,它表示一个必须有一个属性名为`name`,属性值数据类型为`string`的对象。
function set(nameval:label){//nameval是参数名可以任意写,表示参数使用label接口
    console.log(nameval.name)
}
let obj={name:"ddddd",age:10}//传入指定的参数,否则会报错
set(obj)

注意传入的参数可以不传定义的属性,但必须保持参数数据类型相同。

interface label {
    name?:string,
    age?:number
};
function set(nameval:label){
    console.log(nameval)
    let age=nameval.age;
    return age
}
let obj={name:"ddddd"}
set(obj)
interface point{
    readonly a:number,
    readonly b:string
}
let obj:point={a:10,b:"eeee"}
console.log(obj)
obj.a=100;
console.log(obj)
上一篇 下一篇

猜你喜欢

热点阅读