ES6 Symbol-iterator接口机制
1、使用for of 去遍历时,会首先找遍历对象是否有Symbol.iterator属性,若有可直接使用,若无需要手动设置,对象就需要手动设置
2、使用三点运算符,默认调用iterator接口
代码示例:
<html ng-app='app' ng-controller='main' >
<head>
<meta charset="utf-8">
<meta name='viewport' content='width=device-width,user-scalable=no,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0'>
<script src='jq/jquery-3.4.1.js'></script>
<style>
</style>
</head>
<body >
<script>
let obj={
[Symbol.iterator]:function(){
let index=0;
return {
next:function(){
return index < this.length?{value:arr[index++],done:false}:{value:undefined,done:true};
}
}
}
}
let arr=[1,5];
let arr2=[2,3,4];
let arr3=[1,...arr2,5];
console.log(arr3);
</script>
</body>
</html>