//ts用法
var n:number = 1;
// var n = '213'; //err
var str = "213244";
// str = 123; //err
var str:string = '1';
str = 'dddd'
var str2:string = `hello ${str2}`;
var bool:boolean = false;
bool = true;
// bool = '1231'; //err
var un:undefined = undefined;
// un = '2121'; //err
// un = 123; //err
// un = a; //err
var nu:null = null;
// nu = 123; //err
// nu = a; //err
//小结:数据类型定义后,不允许数据类型改变
//任意值(Any)用来表示允许赋值为任意类型
var b:any = 213;
b = '21123';
b = [1,2,3];
//变量如果在声明的时候,未指定其类型,会被识别为任意值
var c ;
c = 'ac2';
c = 123;
//联合类型 可以为多种类型中的一种
var d:string | number;
d = 10;
d = 'asc';
//注意 !!! 访问的是联合属性共有的属性中方法
// function getLength (str:string | number):number{
// return str.length; //length--->err
// }
// getLength(d);
//正确写法
function getLength (str:string | number[]):number{
return str.length; //length--->err
}
getLength(d);
//数组有多种定义方式
//最简单的方式 类型+方括号 来表示数组
var arr:number[] = [1,2,3];
var arr2:string[] = ['dd','xx','xnnx'];
var arr3:any[] = ['dd',1,true];
//对象的类型 --接口
//接口(interface) 可以用于对 【对象的形状(Shape)】进行描述
//规范
//接口首字母大写
interface Person {
name:string,
age:number
}
//对象受到接口的约束
var p1:Person = {
name:'nnn',
age:12
}
//定义的变量比接口少了属性是否允许 --不允许
var p2:Person = {
name:'1213'
}
//定义的变量比接口多了属性是否允许 --不允许
var p3:Person = {
name:'12',
age:12,
sex:'man'
}
//可选属性 希望接口中有可选属性
interface Animal {
name?:string,
age:number
}
var a1:Animal = {
age:123
}
var a1:Animal = {
age:123,
name:'ccc'
}
//可选属性只针对于当前设置的属性,仍然不能添加其它属性
var a3:Animal = {
name:'bb',
age:12,
sex:'man'
}
//任意属性 接口中添加一个任意的属性
interface Animal2 {
name:string,
age?:number, //可选属性
[propName:string]:any; //任意属性
}
// 注意:写入了任意属性[propName:string]那么确定属性和可选属性必须是它的子属性
var cat:Animal2 = {
name:'mm',
sex:'woman'
}
var cat:Animal2 = {
name:'mm',
age:1,
type:'animal'
}
//函数类型 输入和输出的约束
//函数声明
function fun1(a:number,b:number):number{
return a+b;
}
fun1(1,1)
//函数表达式
var fun2 = function(a:number,b:number):number{
return a+b;
}
fun2(2,8)
//参数默认值
function fun3(x:number = 2,y:number):number{
return x+y;
}
//参数可选
//注意!!!可选参数必须接在必需参数后面
//换句化说:可选参数后面不允许出现必需参数
function fun4(x:number = 1,y?:number):number{
if(y){
return x+y;
}else {
return x;
}
}
fun4(1);
fun4(20,1)
TS入门+类型定义+接口理解
最新推荐文章于 2024-06-26 15:56:27 发布