TS入门

一.字符串:

1、多行字符串,使用双撇号进行换行
`hello hello`
2、字符串模板(引用变量)。
var a = 5
console.log(`${a}`);
3、自动拆分字符串(字符串模板调用方法test,自动将模板里字符拆分为第一个变量template,整个模板的表达式会被拆分成一个数组,并将该数组当成实参传入方法所用来接收的形参。
function test(template,name,age){
console.log(template);
console.log(name);
console.log(age);

}
var name = 'chen';
var getAge=function(){
return 18;
}
test`hello my name is ${name},i am ${getAge()}`,

 

 

 二 ts参数 (可参考这个篇,较详细->https://blog.csdn.net/qq_15701939/article/details/83934608)

var name:string = "chen";
var age:number = 20;
var man:boolean = true;
var title:any = "hello";
//自定义参数
class person{
  name:string;
  age:number;
}
person.name = "chen";
person.age = 21;

function test(name:
string){} void js没有空值的概念,在ts中,可用void表示没有任何返回值的函数 function test(name:string):void{ } 用void声明变量的时候,只能赋值为undefined和null
let name:void = undefined;
function test(name:string):string{
  return ""
}

默认值
function test(name:string = "chen"):string{
 console.log(name)
}
test();
可选参数
function test(name?:string):string{
 console.log(name)
}
test();
 

 三 rest和spread 操作符

rest 可接收任意数量的参数
function fun1(...ages){
  ages.forEach((arg){
    console.log(arg)
  }) }
var e = [1,2,3,4]
fun1(...e)
spread 传递固定数量的参数
function fun2(a,b,c){
  ages.forEach((arg){
    console.log(arg)
  }) }
var e = [1,2.3]
fun2(...e);
 

四 generator函数

function* dosomething(){
    console.log("start")
    yield;
    console.log("finish")    
}
var a = dosomething();
a.next();

 五 析构表达式

1.对象时取值

function test(){
return{ a:1, b:"hello" } } var {a,b} = test(); console.log(a); console.log(b);

从对象的对象里取值
function test(){
return{
a:1,
b:{
 aa:"hello
   }      
  }  
}
var {a,b:{aa}} = test();
console.log(a);
console.log(b);

2.数组里取值
var arr1 = [1,2,3,4];
var [a,b]=arr1;
console.log(a);//1
console.log(b);//2

var [..a,b]=arr1;
console.log(a);//3
console.log(b);//4
var [a,b...c]=arr1;
console.log(a);//1
console.log(b);//2
console.log(c); //[3,4]
 
 
 

 六 箭头表达式


var
a = (b,c) => b+c; var arr = [1,2,3,4]; console.log(arr.filter(value)=>value%2 == 0);

重要的:消除this指向
fuction a (name:string){
  this.name= name;
  setInterval((){
    console.log("my name is " + this.name);
},1000)
}
var c = a("chen") //my name is chen;


七 forEach, for in  for of 

var name =[1,2,3,4];
name.desc="four number";
name.forEach(value => console.log(value)) //不能被打断,只能全遍历
var name =[1,2,3,4];
name.desc="four number";
for(var a in name){
  console.log(a)  //打印的只是键,不是值
  console.log(name(a)),这样才能打印值      
}
var name =[1,2,3,4];
name.desc="four number";
for(var a of name){
  if(a > 3)break; //可以用break打断 console.log(a) //1,2,3 }

 

 

 

posted @ 2019-11-22 09:48  旧崖  阅读(819)  评论(0编辑  收藏  举报