ES6常用語(yǔ)法

什么是ES6

ECMAScript 6 簡(jiǎn)稱ES6椒惨,在2015年6月正式發(fā)布缤至。ECMAScript 是 JavaScript 語(yǔ)言的國(guó)際標(biāo)準(zhǔn)。
我們本著二八原則康谆,掌握好常用的领斥,有用的就行嫉到。

1、聲明變量 const月洛、let何恶、var

ES6以前用var關(guān)鍵字聲明變量,無(wú)論聲明在何處都存在著變量提升這個(gè)事情(變量提升:會(huì)提前創(chuàng)建變量膊存,但并沒有賦值)作用域也只有全局作用域以及函數(shù)作用域(所以變量會(huì)提升在函數(shù)頂部或者全局作用域的頂部)导而。
let 關(guān)鍵字表示變量,const 表示常量隔崎。都是塊級(jí)作用域今艺,比如一個(gè)函數(shù)內(nèi)部,代碼塊 { } 內(nèi)部爵卒。

// 全局變量的提升
    console.log(global)
    var global = "global"
    console.log(global)

    //  函數(shù)內(nèi)變量的提升
    function aa() {
       if(1){
           var test = "test"
       }
       console.log(test)
    }
    function bb() {
        if(1){
            let test ="test";
        }
        console.log(test)
    }
    // 在for循環(huán)中 let
    var arry = [];
    for(var i = 0; i<10; i++){
        console.log(i)
        arry[i] = function () {
            console.log(i)
        }
    }
    // 相當(dāng)于
    // var arry = [];
    // var i;
    // for(i = 0; i<10; i++){
    //     console.log(i)
    //     arry[i] = function () {
    //         console.log(i)
    //     }
    // }
    arry[5]()
    const name = "gaoxin";
    const name = "隨意"
    // 報(bào)錯(cuò)

2虚缎、模板字符串

ES6 引入了反引號(hào)

<body>
<div id="head">

</div>

<script>
// 模板字符串進(jìn)行標(biāo)簽字符串的拼接一行搞定
let ele = `
    <div>
        <h1>模板字符串</h1>
        <p>動(dòng)態(tài)添加</p>
    </div>
`;
let ele_div = document.getElementById("head");
console.log(ele_div)
ele_div.innerHTML= ele;

// 將表達(dá)式嵌入字符串
let a = 10;
let b = 5;
console.log(`結(jié)果是:${ a + b }, ${ a * b}`)


</script>

</body>

3、函數(shù)

箭頭函數(shù)钓株,是函數(shù)的快捷寫法实牡,類比Python的匿名函數(shù) lambda。
最直觀的三個(gè)特點(diǎn)

  • 不需要function關(guān)鍵字來(lái)創(chuàng)建函數(shù)
  • 省略 return 關(guān)鍵字
  • 繼承當(dāng)前上下文的this關(guān)鍵字(因?yàn)榧^函數(shù)的調(diào)用者是當(dāng)前的上下文轴合,跟普通函數(shù)區(qū)別開)

例子:

// ES6
x => x+1
// 等同于
function test(x) {
    return x+1
}

this 例子:

// 函數(shù)在哪里調(diào)用了 才決定this到底引用的是誰(shuí)~~~
// 最后一個(gè)調(diào)用函數(shù)的對(duì)象才是傳到函數(shù)里的上下文對(duì)象this~~~

console.log(this)

function test() {
    console.log(this)
};

let obj = {
    a: 1,
    test: test,
};

let obj2 = {
    b: 3,
    obj: obj,
};

obj.test();
test();
obj2.obj.test();

4创坞、import 和 export

import 導(dǎo)入模塊、export導(dǎo)出模塊

// main.js
// 導(dǎo)出多個(gè)聲明
export var name = "gaoxin"
export var age = "18"
export function aa() {
    return 1
}
// 批量導(dǎo)出
export {name, age, aa}

// test.js
import {name, age, aa} from "./main"
console.log(name)
console.log(age)
console.log(aa())
// 整個(gè)模塊導(dǎo)入 把模塊當(dāng)做一個(gè)對(duì)象
// 該模塊下所有的導(dǎo)出都會(huì)作為對(duì)象的屬性存在
import * as obj from "./main"
console.log(obj.name)
console.log(obj.age)
console.log(obj.aa())
/ 一個(gè)模塊只能有一個(gè)默認(rèn)導(dǎo)出
// 對(duì)于默認(rèn)導(dǎo)出 導(dǎo)入的時(shí)候名字可以不一樣
// main.js
var app = new Vue({

});
export default app
// test.js
// import app from "./main"
import my_app from "./main"

5受葛、數(shù)據(jù)解構(gòu)

數(shù)據(jù)的解構(gòu)類似于Python中的‘解包’

const people = {
    name: "提莫",
    age: 2,
};
const person = ["瑞文", "刀妹"]

const { name, age } = people
console.log(name)
console.log(age)
const [name1, name2] = person
console.log(name1)
console.log(name2)

6题涨、class extends super

ES6 引入了關(guān)鍵字class來(lái)定義一個(gè)類,constructor是構(gòu)造方法总滩,this代表實(shí)例對(duì)象纲堵。
類之間通過extends繼承,繼承父類的所有屬性和方法闰渔。
super關(guān)鍵字代指父類的this對(duì)象 席函,子類必須在constructor中調(diào)用super方法 ,
否則新建示例時(shí)會(huì)報(bào)錯(cuò)冈涧,因?yàn)樽宇悰]有自己的this對(duì)象茂附。調(diào)用super()得到this,才能進(jìn)行修改督弓。

class Animal{
    constructor(){
        this.type = "animal"
    }
    says(say){
        console.log(this.type + "says" + say )
    }
}

let animal = new Animal()

animal.says("hello")

class Dog extends Animal{
    constructor(){
        super();
        this.type = "dog";
    }
}

let dog = new Dog()
dog.says("hello")
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末营曼,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子咽筋,更是在濱河造成了極大的恐慌溶推,老刑警劉巖徊件,帶你破解...
    沈念sama閱讀 222,183評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件奸攻,死亡現(xiàn)場(chǎng)離奇詭異蒜危,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)睹耐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門辐赞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人硝训,你說我怎么就攤上這事响委。” “怎么了窖梁?”我有些...
    開封第一講書人閱讀 168,766評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵赘风,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我纵刘,道長(zhǎng)邀窃,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,854評(píng)論 1 299
  • 正文 為了忘掉前任假哎,我火速辦了婚禮瞬捕,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘舵抹。我一直安慰自己肪虎,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評(píng)論 6 398
  • 文/花漫 我一把揭開白布惧蛹。 她就那樣靜靜地躺著扇救,像睡著了一般。 火紅的嫁衣襯著肌膚如雪赊淑。 梳的紋絲不亂的頭發(fā)上爵政,一...
    開封第一講書人閱讀 52,457評(píng)論 1 311
  • 那天,我揣著相機(jī)與錄音陶缺,去河邊找鬼钾挟。 笑死,一個(gè)胖子當(dāng)著我的面吹牛饱岸,可吹牛的內(nèi)容都是我干的掺出。 我是一名探鬼主播,決...
    沈念sama閱讀 40,999評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼苫费,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼汤锨!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起百框,我...
    開封第一講書人閱讀 39,914評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤闲礼,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體柬泽,經(jīng)...
    沈念sama閱讀 46,465評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡慎菲,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了锨并。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片露该。...
    茶點(diǎn)故事閱讀 40,675評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖第煮,靈堂內(nèi)的尸體忽然破棺而出解幼,到底是詐尸還是另有隱情,我是刑警寧澤包警,帶...
    沈念sama閱讀 36,354評(píng)論 5 351
  • 正文 年R本政府宣布撵摆,位于F島的核電站,受9級(jí)特大地震影響害晦,放射性物質(zhì)發(fā)生泄漏台汇。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評(píng)論 3 335
  • 文/蒙蒙 一篱瞎、第九天 我趴在偏房一處隱蔽的房頂上張望苟呐。 院中可真熱鬧,春花似錦俐筋、人聲如沸牵素。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)笆呆。三九已至,卻和暖如春粱挡,著一層夾襖步出監(jiān)牢的瞬間赠幕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工询筏, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留榕堰,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,091評(píng)論 3 378
  • 正文 我出身青樓嫌套,卻偏偏與公主長(zhǎng)得像逆屡,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子踱讨,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評(píng)論 2 360

推薦閱讀更多精彩內(nèi)容

  • 一魏蔗、相關(guān)背景介紹 我們現(xiàn)在大多數(shù)人用的語(yǔ)法javascript 其實(shí)版本是ecmscript5,也是就es5。這個(gè)...
    sunnyghx閱讀 744評(píng)論 0 2
  • ES6語(yǔ)法跟babel: 一痹筛、首先我們來(lái)解釋一下什么是ES莺治? ES的全稱是ECMAScript廓鞠。1996 11 ,...
    Mooya_閱讀 1,011評(píng)論 0 0
  • ES6阮一峰老師的書已經(jīng)出到第三版了,從中受益匪淺谣旁,第二版讀了三遍诫惭,在項(xiàng)目中常用到的一些語(yǔ)法和方法做些總結(jié) 字符串...
    任雨丶閱讀 15,606評(píng)論 0 11
  • ES6 是什么 ECMAScript 2015 于2015年6月正式發(fā)布 可以使用babel語(yǔ)法轉(zhuǎn)換器,支持低端瀏...
    我是嘉煒閱讀 195評(píng)論 0 2
  • 想起了灶王爺 走四方 今天是農(nóng)歷臘月二十三蔓挖,在老家和父母一起過春節(jié)時(shí),是灶王爺上天的日子馆衔。 司灶之神...
    一生愛入名山游閱讀 320評(píng)論 0 0