慕课网学习笔记
1.rest and spread 操作符
2.generator函数 yield
3.析构表达式
4.箭头表达式
用来声明匿名函数,消除传统匿名函数的this指针问题
var sum = (arg1,arg2) => arg1 + arg2;
var sum = (arg1,arg2) => {
return arg1 + arg2;
};
var sum = arg1 => {
console.log(arg1);
};
var arr = [1,2,3,4,5];
console.log(arr.filter(value => value%2 == 0));
function getStock(name:string){
this.name = name;
setIntrrval(function(){
console.log('name is' + this.name);
},1000);
}
var stock = new getStock("IBM")
function getStock2(name:string){
this.name = name;
setIntrrval(() => {
console.log('name is' + this.name);
},1000);
}
var stock2 = new getStock2("IBM");
5.for of , for in ,foEach()
var arr = [1,2,3,4,5];
arr.forEach(value => console.log(value));
for (var variable in arr) {
console.log(variable)//键值对
}
for (var variable of arr) {
if(n>2) break;
console.log(variable)
}
6.类:定义,构造,继承
class Person{
constructor(){
}
// constructor(name:string){
//
// }
// constructor(public name:string){
//
// }
public name;
// private eat(){
//
// }
eat(){
}
protected run(){
}
}
var p1 = new Person();
p1.name = 'man'
p1.eat();
var p2 = new Person();
p2.name = 'wonman'
p2.eat();
class Employee extends Person{//extends可以理解成'是'
constructor(name:string,code:string){
super(name);//必须
this.code = code;
}
code: string;
work(){
super.eat();//调父类方法
this.doWork();
}
}
var e1 = new Employee('name');
7.泛型:一种参数化的类型,一般用来限制集合的内容
var arr : Array<Person> = [];//规定数组中只能放Person
8.接口
用来建立某种代码约定,使得其他开发者在调用某个方法或者创建新的类时必须遵循接口所定义的代码约定
interface IPerson{
name:string;
age:number;
}
class Person{
constructor(public config: IPerson){
}
}
var p1 = new Person({
name:'liuwei',
age: 28
});
interface Animal{
eat();
}
class Sheep implements Animal{//声明Sheep类 实现Animal接口
}
9.模块
模块可以帮助开发者将代码分割为可重用的单元。
开发者可以自己决定将模块中的哪些资源(类,方法,变量)暴露出去供外部使用,
哪些资源只在模块内使用。
export
import
10.注解
注解为程序的元素(类,方法,变量)加上更直观更明了的说明,这些说明信息与
程序的业务逻辑无关,而是供指定的工具或者框架使用。
11.类型定义文件 *.d.ts
类型定义文件用来帮助开发者在TypeScript中使用已有的JS的工具包
如JQuery,有了这个类型定义文件,就可以使用$()了
npm install typings --global //安装typings工具
typings search tape
typings search --name react
初始化react-native项目:
react-native init stewardRNTest --template typeScript --version 0.60.5
react-native run-ios --simulator "iPhone 7P"
可以去参考:https://www.cnblogs.com/bai1218/p/10039995.html
https://segmentfault.com/a/1190000017559320