ts申明

65 阅读1分钟

1.下载ts npm i -g typescript 检查是否成功 tsc -v

2.创建index.ts 可输入tsc index.ts将ts文件夹转换为js文件(浏览器无法识别ts文件) 然后输入node index.js 直接查看输出结果(用node编译就不用放到html文件查看了)

ts:基本语法还是js的,js的一个超集 拓展了功能

1.类型限定 申明变量的时候定义其类型

var isname:string = '小红'  //变量只能为字符串
var age:number = 18 //变量只能为数值
var key:boolean = true //变量只能为布尔值
var isany:any = false //变量为不确定值,相当于没有定义


//数组
var list:number[]=[] //定义的数组值只能为number 不定数量
list = [1,23,45,56,77,9] //√
list = [1,234,'电视电话是的'] //报错

var list2:string[]=[] //定义的数组值只能为string 不定数量
var list3:any[]=[] //定义的数组值为任意值 不定数量
var list2:[boolean,number,string]=[true,1,'哈哈哈']  //确定数量,并知晓每一个的类型

//方法
function fun1():number{ //有返回值,并且为number
  return 1
}
function fun1():void{ //无返回值,并且为number
  console.log(111)
}
function fun2(name:string,age:number):void{ //带参数 参数类型只能为定义的类型
  console.log('你好',name,age)
}
fun2('小红',18)

//对象
//通过接口定义对象属性的类型
interface personObj{
    uname:string,
    age:number,
    uclass?:number, //带问号的属性可有可无 不写不会报错
    say1:()=>string, //return 字符串 
    say2:()=>void, //不return
    say1:()=>any, //随意
}
var obj1:personObj = { //对象的类型规则为上面定义的personObj类型
    uname:'小红',   //定义的uclass带问号 不写不会报错 不写其他属性会报错
    age:14,
    say1:():string=>{
     console.log(1111);
     return '哈哈哈'
    },
    say2:():void=>{
     console.log('不可return');
    },
    say3:()=>{
     console.log('你干了,我随意');
     return 0
    },
}