es6核心特性學習

1.變量聲明

使用const和let代替var

2.塊級作用域

變量只會在當前塊級作用域下生效,不會影響其他的作用域

{
    let tmp='';
}

3.模板

{}

4.箭頭表達式
()沒有參數(shù)時需要加()=>{}
只有一個參數(shù)可以不加() index=>{}
一個以上的需要加()=>{}

5.for of

const arr = ['a','b','c'];
for(const elem of arr){
    console.log(elem);
}

6.默認參數(shù)

function (x=0,y=0){
    ...
}
function ({x=0,y=-1}){

}
//無限的參數(shù)

function (...args){
    for (const elem of args){
        console.log(elem);
    }
}

Math.max.apply(Math, [-1, 5, 11, 3]) 
=》
Math.max(...[-1, 5, 11, 3])

arr1.push.apply(arr1, arr2);
=》
arr1.push(...arr2);

console.log(arr1.concat(arr2, arr3));
=》
console.log([...arr1, ...arr2, ...arr3]);

對象字面量
省略掉了function()

var obj = {
    foo:{
        ...
    },
    bar:{
        this.foo();
    },
}

省略掉了function,各部分不需要逗號

class Person(){
    constructor(name){
        this.name = name;
    }
    describe(){
        return 'Person called' + this.name;
    }
}

多項導出

//------ lib.js ------
export const sqrt = Math.sqrt;
export function square(x) {
    return x * x;
}
export function diag(x, y) {
    return sqrt(square(x) + square(y));
}

//------ main1.js ------
import { square, diag } from 'lib';
console.log(square(11)); // 121
console.log(diag(4, 3)); // 5

//------ main2.js ------
import * as lib from 'lib'; // (A)
console.log(lib.square(11)); // 121
console.log(lib.diag(4, 3)); // 5
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

  • 《ECMAScript6 入門》阮一峰 讀書筆記 let和constlet聲明的變量僅在塊級作用域內(nèi)有效,var聲...
    親愛的孟良閱讀 806評論 1 2
  • 更合理的方式寫 JavaScript 原文看 這里 ,收錄在此為便于查閱。 類型 1.1 基本類型:直接存取。字符...
    殺破狼real閱讀 8,887評論 0 6
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy閱讀 9,656評論 1 51
  • 2017年10月至11月,一直在路上 仿佛像一只不停歇的陀螺, 在旋轉(zhuǎn)著,不停地抵達自己的極限
    一座城池的悲傷閱讀 125評論 0 0
  • 開啟三指拖拽 三指拖移:用三個手指拖移項目;當您抬起手指時拖移立即停止。 使用時需要將鼠標移動到項目框上方的菜單欄...
    7分醉閱讀 977評論 0 0

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