ES6第一课

作者: FF_C | 来源:发表于2017-12-13 13:56 被阅读0次

定义变量 用let, 已被浏览器实现

let a =12;
var obj = {
  name : "小明",
  age : 12,
  sex :"男",
  sayHello : function(){
    alert("你好")
  }
};
obj.sayHello(); 

代码块:{}包起来的代码,形成了一个作用域,块级作用域
比如:if for while
特点 只能在代码块里使用

var 只有函数作用域
let具备块级作用域,不允许重复声明

let a =12;
let a = 5;  //错的

总结:其实let才接近其他语言的变量

用处: 封闭空间

(function(){
   var a =12; //code
})()

//现在
{
    let a =12;
}

可以解决i问题
**总结:块级作用域 其实就是匿名函数立即调用 **

const 用来定义常量 一旦被赋值 以后再也不能修改

const a = '大组件';
a = 12;
alert(a) //报错

注意: const必须给初始值 ,因为以后再也没法赋值了,所以声明的时候 一定得有值
用途:为了防止意外修改变量,比如引入库名,组件名

字符串连接:
之前:'abc'+变量名+'ef'
var a ='别墅';
var str='别墅太师椅团里,'+a+'夺夺,地工,别墅无可奈何花落去封顶 ';

document.write(str);

现在:反单引号 (1前面那个键)** **现在:`abc${变量名}ef`** **var str =; //字符串模板

var a ='别墅';
var str=别墅太师椅团里,${a}别墅夺夺,地工,别墅无可奈何花落去封顶;

document.write(str);

结构赋值
var [a,b,c] =[12,5,101];
console.log(a,b,c); //12 5 101
等价于

var a = 12;
var b = 5;
var c =101;

json结构赋值写法

var {a,b,c}={a:12,b:5,c:101};
alert(a);//12


var {a,b,c}={b:5,a:12,c:101};
alert(a);//12  跟顺序无关

模式匹配:左侧样子与右侧一样

交互:数据解析:
[{title:'',href:'',img:''}]

结构赋值还可以给默认值
var json={};
json.a||12;

现在:

var {time=12,id=0} ={};
console.log(time); //12

语法 var {time=12,id=0} ={};
例:
function move(obj,json,options){
options=options||{};
options.time=options.time||300;
}

等价于
function move(obj,json,{time=300}={})

例二

function getPos(){
    return{left:100,stop:1000}  //这里命名stop会有命名冲突,会打印出window
};
var {left,stop}=getPos();
console.log(left,stop);// 100 1000 

相关文章

网友评论

    本文标题:ES6第一课

    本文链接:https://www.haomeiwen.com/subject/nkyaixtx.html