ts与es6学习记录

ts遵循es6语法,也是js以后发展的方向,学好ts对于以后都有帮助。

1.字符模板

以前对这个方法认知的还是太少了,直接上代码吧。

var n1 = '1';
var n2 = '2';
var n3 = '3';
var fn = function(){
    return 4
}

//这个时候函数也是可以返回的

console.log(`返回${n1},${n2},${n3},和函数${fn()}`)
返回:返回1,2,3,和函数4

函数中使用

function demo(str,str2,str3){
    console.log(str)
    console.log(str2)
    console.log(str3)
}
var str = 1;
var str2 = 2;
var str3 = 3;
//调用
demo`测试${str}${str2}${str3}`;

//第一个参数就是传入的字符串,然后按照顺序打印,str3这个时候就没有了

数组和对象在字符模板的中使用方法

var obj = {
  name:"lojze",
  age:"18"    
}

console.log(`打印一个对象${obj}`);

//返回  打印一个对象[object Object]

正确的使用方式

console.log(`${JSON.stringify(obj)}`)

//返回

{"name":"lojze","age":"18"}

数组!

var arr= [1,2,3,4];

console.log(`${arr}`)

2. * yield 

该方法作用就是控制程序的开始停止,使用`netx()`控制,一帧一阵的运行下去。

这样说,可能对一些人来说不知道他到底能干啥?

假设这个时候有个场景,吃饭之前都要抢个红包,对吧,只有固定点击的人才可以抢到红包,这个时候,我们就可以使用yield。

//第5个人才能抢到
var active = 5;

//已经当前有10个人在抢这个红包
var max = 10;
var maths = start(max);

//创建一个随机人数方法
function* start(max) {
//假设有 1 -10 个人在抢这个红包
    while (true) {
//同一时间不知道有多人点击,设置一个随机数
    yield max = max - parseInt(Math.random() * 10);
    }
}

while (max > active) {
    max = maths.next().value;
    //为了方便看到有多人点击
    console.count(max)
}
if (max == 5) {
    console.log(`这个时候可以抢拉${max}`)
} else {
    console.log(`红包已经被抢完了,你是第${10 -max}个点击的`)
}

这个列子可以帮助我们理解 * yield 方法,炒股啊,运用的场景还是挺多的。

猜你喜欢

转载自www.cnblogs.com/damai/p/9120974.html
今日推荐