2021-03-16ES6第一節(jié)課筆記

ES6

聲明與表達(dá)式

let

作用域在塊里面

var

全局

注意 函數(shù)有自己的作用域


const

常量

常量的值 是不能被更改的

可以使用const 來做預(yù)定義 處理


應(yīng)用場景

1.私有協(xié)議

即時(shí)通訊

與硬件通訊

2.預(yù)定義數(shù)據(jù)值

網(wǎng)絡(luò)接口

解構(gòu)賦值

定義

解構(gòu)賦值是對賦值運(yùn)算符的擴(kuò)展。

他是一種針對數(shù)組或者對象進(jìn)行模式匹配,然后對其中的變量進(jìn)行賦值。

在代碼書寫上簡潔且易讀,語義更加清晰明了;也方便了復(fù)雜對象中數(shù)據(jù)字段獲取

數(shù)組格式的解構(gòu)賦值

基本

let [a,b] = [2,3];

let [username,age] = ["小明",2]


可嵌套

let [username,[boy,girl],age] = ["小明",["小貓","小花"],12];


可省略

/*

* 可以省略部分變量名

* */


let [a,,,b] = [1,3,5,6];

console.log(a)

console.log(b)

不完全解構(gòu)

如果有變量 不需要初始化值 就可以使用不完全解構(gòu)

let [view = document.createElement("div"),timer] = [];

剩余運(yùn)算符

var [timer,...views] = [0,[document.createElement("div"),document.createElement("div")]]

console.log(views[0][0]);

字符串

let [a, b, c, d, e] = 'hello';

// a = 'h'

// b = 'e'

// c = 'l'

// d = 'l'

// e = 'o'

對象模型的解構(gòu)(Object)

基本

let { foo, bar } = { foo: "哈哈哈", bar: 'bbb' };

console.log(foo,bar);

可嵌套

{

let {a:[b,c]} = {a:[22,33]}

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:"點(diǎn)擊"},{name:"雙擊"}]

}

click();

console.log(ce)

/*

* 定義接口文件 http

*

* 主機(jī)地址 host:"api.bianmazhe.com"

* 測試環(huán)境 evn:true

* api:

*? login:"/login"

*? register:"/register"

* */

let {http:[host,evn,api]} = {

http:["api.bianmazhe.com",false,{login:"/login",register:"/register"}]

}

console.log(api.login)

let {http:[host1,evn1,[login,register]]} = {

http:["api.bianmazhe.com",false,["/login","/register"]]

}

console.log(login);

}

可省略

let {key:[]} = {key:[2,3]}

let {key:[]} = {key:[2,3],key2:"dfk"}

let {} = {key:[2,3]}

不完全解構(gòu)

let obj = {p: [{y: 'world'}] };

let {p: [{ y }, x ] } = obj;

// x = undefined

// y = 'world'

剩余運(yùn)算符

let {a, b, ...rest} = {a: 10, b: 20, c: 30, d: 40};

// a = 10

// b = 20

// rest = {c: 30, d: 40}

Symbol

用于定義一個(gè)獨(dú)一無二的屬性

通過Symbol創(chuàng)建出來的兩個(gè)屬性是不相同的

let n1 = Symbol(2);

let n2 = Symbol(2);

console.log(n1 === n2);


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ES6 聲明與表達(dá)式 let 作用域在塊里面 var 全局 注意 函數(shù)有自己的作用域 const 常量 常量的值 ...
    40de2254de13閱讀 198評論 0 0
  • <!DOCTYPE html> 第一節(jié)課 window.onload =function (...
    Vic_123閱讀 227評論 0 0
  • ES6 let + const 函數(shù)作用域function(){}var 可以重新賦值 會(huì)有變量提升 塊作用域{}...
    樓水流云閱讀 274評論 0 0
  • - ECMAScript 與 Javascript - ECMAScript的發(fā)展過程 - ECMAScript2...
    爵跡01閱讀 346評論 0 1
  • 看這本書是在markdown在做的筆記,更友好的閱讀方式訪問: github es6.md(https://git...
    汪汪仙貝閱讀 512評論 0 0

友情鏈接更多精彩內(nèi)容