为了账号安全,请及时绑定邮箱和手机立即绑定

TypeScript入门

JoJo 全栈工程师
难度初级
时长 1小时50分
学习人数
综合评分9.57
151人评价 查看评价
9.5 内容实用
9.6 简洁易懂
9.6 逻辑清晰
  • any
    查看全部
  • type check & 类型推断
    查看全部
  • for in遍历的是数组的索引(即键名),而for of遍历的是数组元素值。
    查看全部
  • 类型定义文件(*.d.ts) 类型定义文件用来帮助开发者在TypeScript中使用已有的JavaScript的工具包,如JQuery 下载JQuery类型定义文件:https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/jquery/jquery.d.ts 1.类型定义文件是为了能在TS上使用JS代码库、框架而引入的以.d.ts结尾的文件。 2.类型定义文件是别人配好的:https://github.com/DefinitelyTyped/DefinitelyTyped 比如使用jq :https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/jquery/index.d.ts 3.可以使用专门用来安装类型定义文件的工具:https://github.com/typings/typings
    查看全部
  • 注解:annotation 注解为程序的元素(类,方法、变量)加上更直观明了的说明,这些说明信息与程序的业务逻辑无关,而是供指定的工具或框架使用的。
    查看全部
    0 采集 收起 来源:TypeScript-注解

    2017-10-18

  • 模块: 模块可以帮助开发者将代码分割为可重用的单元。开发者可以自己决定模块中哪些资源(类、方法、变量)暴露出去供外部使用,哪些资源只在模块内使用。 export : 导出,对外暴露 import : 导入,引入外部资源 可以暴露类,方法和变量;
    查看全部
    0 采集 收起 来源:TypeScript-模块

    2017-10-18

  • 接口:用来建立某种代码约定,使得其它开发者在调用某个方法或创建新的类时必须遵循接口所定义的代码约定。interface,implements 声明:interface IPerson{ name;string; age:number; } 实现:(1当接口当作一个方法的类型声明时: class Person{ constructor(public config:IPerson){ } } var p1=new Person({name:"zhangsan",age:18});必须为接口中的属性赋值 第二种:接口来声明方法 interface Animal{ eat(); } class Sheep implements Animal{ eat(){ console.log("i eat grass"); } } class Tiger implements Animal{ eat(){ console.log("i eat feet"); } }
    查看全部
    0 采集 收起 来源:TypeScript-接口

    2018-03-22

  • 泛型:参数化的类型,一般用来限制集合的内容 eg:var workers:Array<Person> = []; 声明workers类型为数组且泛型为Person,表明workers里面只能放Person类型的数据
    查看全部
    1 采集 收起 来源:TypeScript-泛型

    2018-03-22

  • TypeScript类 与java定义类类似, 构造方法有一种新的方式 class Person{ Constructor(public name:string){//此处相当于给Personal类定义了一个public属性//name,并且构造方法中有一个name的参数; }} 类的继承extends,意思就是“是”的意思 super两个用法: 1、调用父类的构造函数; 2、调用父类的其它方法;
    查看全部
    0 采集 收起 来源:TypeScript-类

    2017-10-18

  • 循环:var myArray=[1,2,3,4]; myArray.desc = "four number"; forEach(),for in和for of forEach(): myArray.forEach(value => console.log(value)); forEach()不可以break,并且不会输出desc属性 for in : for(var n in myArray){ console.log(n)//此为打印键,如果打值使用myArray[n];} 会打印属性desc,如果 for of:会循环值 ,不像in会循环键,其它跟for in 一样,会忽略desc,并且这个循环是可以被break; for(var n of myArray){ consolr.log(n);}
    查看全部
  • 函数新特性之destructuring析构表达式: 通过表达式将对象或数组拆解成任意数量的变量 例如: function getStock(){ return{ code:"IBM", price:100}} var {code,price} = getStock(); 等同于 var stock = getStock(); var code = stock.code; var price = stock.price; 变量名要一样,如果非要用别的名称可以使用:{code:codex,price}取别名的方式 如果对象中的属性又是一个对象,例如: function getStock(){ return{ code:"IBM", price:{ price1:200, price2:400 }}} 这时候,{code,price}中,price取到的就是一个对象,包含price1:200,price2:400,如果非要取其中的一个值的话,可以再使用一个析构表达式:{code,price{price2}}就可以以取出price2的值了。如果getStock中还有其他属性,是不影响这个取值的。 从数组中取值到本地变量 var arr1 = [1,2,3,4]; var [number1,number2] = array1; 与对象的析构不同的是,数组是用[]来括起来,对象是用{}括出来,如果要拿第3个和第4个话, 这样使用[,,number1,number2] 还有一个使用方式[number1,number2,...others]表示数组中第1和第2个元素分别放到number1和number2中,剩下的,以数组的方式放到others变量中去。 析构表达式作为方法的参数: var arr1 = [1,2,3,4]; function doSomething([number1,number2,...others]){ console.log(number1); console.log(number2); console.log(number3);} doSomething(array1); 这样便会将数组中的值析构到数组中去,方式和上面的一样。
    查看全部
  • 函数新特性之generator函数:控制函数的执行过程,手工暂停和恢复代码执行 声明方法,在function后面另*号, function* doSomething(){console.log("start"); yield; console.log("finish");} var func1 = doSomething(); func1.next();} 需要把方法声明成一个方法,然后再使用变量的next()方法; yield;用来暂停,调用函数的next方法,方法才会继续执行;
    查看全部
  • 函数新特性: Rest and Spread操作符:用来声明任意数量的方法参数(...) 还有一个反过来的用法:例如: function func1(a,b,c){ console.log(a); console.log(b); console.log(c); } var args = [1,2] func1(...args); var args2=[7,8,9,10,11]; func1(...args);}第一次调用,由于方法定义的3个参数,而args长度为2,所以调用后方法中第3个为undefine,第二次调用,由于方法只有3个参数,args长度为5,所以后面两个项被忽略了
    查看全部
  • 123
    查看全部
  • https;//github.com/typings/typings
    查看全部

举报

0/150
提交
取消
课程须知
1、对javascript的基础知识已经掌握。
老师告诉你能学到什么?
1、TypeScript语言中的字符串新特性 2、TypeScript语言中的变量和参数新特性 3、TypeScript语言中的函数新特性 4、TypeScript语言中的匿名函数 5、TypeScript语言中的for of循环 6、TypeScript语言中的面向对象特性

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!