简单了解ES6的语法

2023-09-25 18 0

ES6的部分语法
const
const 用来定义一个不改变的常量,一旦用const定义,就不能更改,若强制更改会报错。
const Pi = 3.14;
let
用let来定义一个块级作用域,只有在这个作用域内let声明的变量才存在,在这个作用域外部访问声明的变量会报错
for(let i= 0 ; i<5 ;i++){console.log(i)
}
console.log(i)
for循环会输出0 1 2 3 4   ;在for循环外的会报错  i is not defined
箭头函数
定义形式 :var test =  ()=> {  //处理程序 }
传参数: var test = (a,b) => { // 处理程序 }var name="jack";
var obj = {name:'rousi',test:function(){var test1 = ()=>{console.log(this.name)  //obj}test1()},test:function(){var test2 = function(){    console.log(this.name)  //window}test2();},test3:function(){console.log(this.name)  //obj},
}
obj.test3();与ES5函数的区别: 箭头函数中的this都是指向obj的,而ES5中的this得看调用者是谁才能指向谁。
函数的默认值
在ES6的语法中,我们可以给函数的形参设置默认值;
function ab(a=1,b=2){return a+b;
}
ab()  //3
ab(5,6) //11
解构
var data = {name: 'jack',age:18,sex:'男'}
var {name,sex,age} = data
alert( name ) // jack
反引号 `
在ES5中,一个变量是不能赋值为多行字符串的,因为js的换行符不仅有分号还有回车,如果要写多行字符串就要拼接。例如:
var html = '<ul>'
html += '<li>内容</li>'
html += '</ul>'在ES6中,反引号可以处理多行字符串  var str = `aabb
`;
在``中间我们也可以使用变量,变量名要用${}包裹:例如
var name="jack";
var str = `aabb${name}cc
`
console.log(str)可以输出 :aabbjackcc
Promise
在ES6语法中,提供了Promise对象来实现JS中异步的处理,它可以把异步变为同步:看下面的实例
new Promise(function(res){setTimeout(function(){console.log(1111);res()},2000)
}).then(function(){console.log(222)
})
上面是Promise将异步变为同步的基础语法,参数 res是必须要执行的,不然会起不到作用。
如果想将上一次的的返回值作为下一次的参数的话,就需要返回一个值,示例如下:
new Promise(function(res){setTimeout(function(){console.log(1111);res()},2000)
}).then(function(){console.log(222)return new Promise(function(res){res('要传递的参数')})
}).then(function(val){//这里的val就是接收的 return返回的 '要传递的参数'
})
代码编程
赞赏

相关文章

动态改变shape color
一张图看懂阿里云网络产品[一]网络产品概览
bug人生–CF的那段时光
地图常见操作总结
西门子医疗创新产品与解决方案亮相第31届国际医疗仪器设备展览会
WebView详解:Android和Js交互