TypeScript 学习2-数据类型、函数

//字符串类型
let str:string; //只能接收字符串类型
str="你好 Ts"
// str=true //错误写法
//console.log(str);


//布尔类型(boolean) true false
//var flag:boolean=true
// flag="aaa" //错误写法
//flag=false
//console.log(flag);

//数字类型 number 它对浮点型和整型没有进行区分,都叫数字类型
//var a:number=123
//a=12.3
//console.log(a)

//数组类型(arry)  ts定义数组有两种方式
    //第一种定义数组的方式
  //  let arr:number[]=[1,2,3]
   // console.log(arr)

   // let strs:string[]=["aa","bb","vv"]
  //  console.log(strs)

    //第二种定义数组的方式
   // let arr2:Array<number>=[1,2,355]
   // console.log(arr2)

   //第三种定义数组的方式
   let arr3:any[]=['aasda',2,355,true]
   console.log(arr3);
   

//元组类型(tuple)属于数组的一种
//let arr:[number,string,boolean]=[1,"a",true]
//console.log(arr)

//

//枚举类型
 //enum 枚举名{
    // 标识符[=整型常数],
   //  标识符[=整型常数],
  //   ...
  //   标识符[=整型常数]

// }
//enum Flag{success=1,error=2}
//console.log(Flag.success);

//如果枚举标识符没有指定值,默认值是索引
//enum Color{red,blue,orange}
//console.log(Color.orange); //值为2

//如果枚举标识符中间一个指定有值
//enum Color{red,blue=5,orange}
//console.log(Color.red); //值为0
//console.log(Color.blue); //值为5
//console.log(Color.orange); //值为6 在指定有值的后面

//定义没有赋值就是undefined
//var num:number | undefined
//console.log(num)


//一个元素可能是number 类型 可能是undefined  可能是null
//var num:number | undefined | null
//console.log(num)

//  void  表示方法没有返回任何类型
/* function run():void{

    console.log('run')
}
run(); */

//3.1 匿名函数
  var fun=function():number{
    console.log('run')
    return 123;
}

//3.2方法可选传参  ?可选参数
/* function getInfo(name:string,age?:number):string{
  console.log('run')
  if(age){
    return '${name}---${age}'
  }else{
    return '${name}---年龄保密'
  }
} */
//注意: 可选惨必须配置到参数的后面
//错误写法  function getInfo(name?:string,age:number):string{

//alert(getInfo('张三',20))
//alert(getInfo('张三'))

//3.3 默认参数 注意默认参数必须配置到参数的后面
// es5里面没办法设置默认参数,es6和ts中都可以设置默认参数
/* function getInfo(name:string,age:number=20):string{
  console.log('run')
  if(age){
    return '${name}---${age}'
  }else{
    return '${name}---年龄保密'
  }
}
alert(getInfo('张三'));
alert(getInfo('张三',30)); */

// 3.4 三点运算符 接受新参传过来的值
/* function sum(...result:number[]):number{
  var sum=0;
  for (let index = 0; index < result.length; index++) {
    sum+= result[index];
  }
  return sum;
}
alert(sum(1,2,3,4)) */

//ts函数重载
// java中方法的重载,重载指的是两个或者两个以上的同名函数,但是他们的参数不一样,这时会出现函数重载的情况
/* function getInfo(name :string):string;
function getInfo(name:string , age :number):string;
function getInfo(name : any , age? : any ) :any{
    if(age){
      return ' 我叫'+name+' 我的年龄是'+age;
      }else{
      return ' 我叫' +name;
    }
}
alert(getInfo('zs',20)) */


//箭头函数 es6
// this 指向的问题 箭头函数的this指向上下文
 setTimeout(()=>{
    alert('run')
 },1000)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值