ES6常用命令

来源:互联网 发布:云计算服务级别sla 编辑:程序博客网 时间:2024/06/09 15:32

1、模板语言 ·· (反引号,就是键盘左上角数字 1 旁边的那个键)
代替字符串拼接,变量也很好用
1)var str= ·
a;
b;
·
等价于 var str = “a” ; str += b;
2)变量
var n = “sam”;
var str = ’ she name is ${n} ’ ==> she name is sam
3)append标签
es5: dom.append(’
there is ‘+n+’
‘)
es6: dom.append(
there is <b> ${n}</b>
)
换行、空格 神马的都会被保存下来


2、let和const 为块级作用域(var 为函数作用域)
1)let 声明变量
console.log(a)
let a = 1; ==>error
var a= 1; ==>undefined, 原因是var会将变量提升 即实际为: var a; console.log(a); a=1;
{
let a = 1;
var b = 1;
}
console.log(a); ==>error
console.log(b); ==>1
let声明的是块级变量,在块级外面无法找到 会被销毁,var 声明的变量不会被销毁 可能会引起内存泄漏
2)const 声明常量,只能在特定场景下可以修改
const a=1;
a=2 ==> error
特定场景修改 const变量
const b={a:1}
b.a = 2;
console.log(b.a) ==>2
为什么可以修改? const声明的变量声明称object类型生成一块内存地址,内存地址不可以改变 但是它空间里面的值是可以改变的,举例 你买了一块地,可以在地上盖房子什么的都可以 但是不能把地弄没了,地是政府的是政府的是政府的。。。。
通常const不会定义这么复杂的类型 木有必要


3、箭头函数(省略掉function)
1)var arr = [3,6,9];
//function
var nowArr = arr.map(function(item){
return item+2
})
// 箭头函数
var nowArr1 = arr.map((item)=>item+2) //如果没有参数就直接写()=>;如果只有一句 item+2,就可以直接写 如果超过一句就要用{}包裹起来 {console.log(123);item+2}
console.log(nowArr1)
2)箭头函数没有作用域的问题
error =>{this.msg = error}
当时用function(error){this.msg = error} //此时this指向的作用域为function 有误,需要在function外面定义一个变量等于this


4、数组 字符串 函数 对象 解构扩展
1)数组的分解
var [a,b,c] = [3,8,10] //即a-3,b-8,c-10
2)字符串的分解
var [x,y,z] = ‘vue’ //分解之后变成数组所以用[] console.log(x:${x},y:${y},z:${z}) ==>x:v,y:u,z:e
3)对象的分解,对key进行拆分
var {m,n} = {m:10,n:20}
console.log(m:${m},n:${n}) ==>m:10,n:20
注:是根据key来赋值 没有顺序要求,级m n位置调换后 输入的仍然是m:10,n:20
4)函数的分解
function sum([x,y]){ //相当于把上面的数组拆分放到了函数里面
return x+y
}
var total = sum([2,8])
console.log(total:${total}) ==> total:10
标签:

原创粉丝点击