1.聲明與表達式:
? ? (a)? let: 作用域在塊里面
? ? (b)? var: 全局? 注意 函數(shù)有自己的作用域
? ? (c) const: 常量
? ? ? ? (1)常量的值 是不能被更改的
? ? ? ? (2)可以使用 const 來做預(yù)定義 處理
? ? ? ? (3)應(yīng)用場景
? ? ? ? ? 1.私有協(xié)議
? ? ? ? ? ? a.即時通訊
? ? ? ? ? ? b.與硬件通訊
? ? ? ? ? 2.預(yù)定義數(shù)據(jù)值? 網(wǎng)路接口
? ? 2.解構(gòu)賦值
? ? ? (1)定義:
? ? ? ? 解構(gòu)賦值是對賦值運算符的擴展鄙皇。
他是一種針對數(shù)組或者對象進行模式匹配,然后對其中的變量進行賦值。
在代碼書寫上簡潔且易讀询兴,語義更加清晰明了臼勉;也方便了復(fù)雜對象中數(shù)據(jù)字段獲取鹦蠕。
? ? ? (2)數(shù)組格式的解構(gòu)賦值
? ? ? ? 1.基本
? ? ? ? ? let [a,b]=[2,3];
? ? ? ? ? let [username,age] = ["小明",4];
? ? ? ? 2.可嵌套
? ? ? ? ? let [username,[boy,girl],age] = ["小明",["哈利","波特"],15];
? ? ? ? 3.可省略
? ? ? ? ? /*
* 可以省略部分變量名
* */
let [a,,,,b]= [2,3,5,6];
console.log(a)
console.log(b)
? ? ? ? 4.不完全解構(gòu)
? ? ? ? ? /*
*不完全解構(gòu)
* 可用于 不需要初始化賦值的變量
* */
let [view = document.createElement("div"),timer] = [];
? ? ? ? 5.剩余運算符
? ? ? ? ? /*
* 剩余運算符
*
* */
var [timer,...views] = [0,[document.createElement("div"),document.createElement("div")]]
console.log(views[0][0]);
? ? ? ? 6.字符串
? ? ? ? ? // 字符串
let [a, b, c, d, e] = 'hello';
// a = 'h'
// b = 'e'
// c = 'l'
// d = 'l'
// e = 'o'
console.log(a,b,c,d,e);
? ? ? (3)對象模型解構(gòu)
? ? ? ? /*
* 對象模型 解構(gòu)的基本方式
* */
let {foo,bar} = {foo:"aaa",bar:"bbb"};
console.log(foo,bar);
? ? ? ? 2.可嵌套
{
? ? let {a:[b,c]} = {a:[22,44]};
? ? console.log(b)
? ? console.log(c)
? ? let {key:[name1,name2]} = {key:["屬性1的值","屬性2的值"]};
? ? console.log(name1)
? ? console.log(name2)
? ? let{
? ? ? ? listener:[
? ? ? ? ? ? click,
? ? ? ? ? ? dlclick,
? ? ? ? ? ? tapstart
? ? ? ? ],
? ? ? ? event:[ce, de, te]
? ? }={
? ? ? ? listener:[
? ? ? ? ? ? function () {
? ? ? ? ? ? console.log("click")
? ? ? ? ? ? },
? ? ? ? ? ? function () {
? ? ? ? ? ? console.log("dlclick")
? ? ? ? ? ? }
? ? ? ? ],
? ? ? ? event:[{name:"點擊"},{name:"雙擊"}]
? ? }
? ? click();
? ? console.log(ce)
? ? ? ? 3.可省略
let {key:[]} = {key:[2,3]}
let {key:[]} = {key:[2,3],key2:"dfghj"}
let {} = {key:[2,3]}
? ? ? ? 4.剩余運算符
let {a, b, ...rest} = {a: 10, b: 20, c: 30, d: 40};
// a = 10
// b = 20
// rest = {c: 30, d: 40}