成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專(zhuān)欄INFORMATION COLUMN

ES6(中)

dreamGong / 1498人閱讀

摘要:它用來(lái)比較兩個(gè)值是否嚴(yán)格相等,與嚴(yán)格比較運(yùn)算符的行為基本一致。兩個(gè)對(duì)象的地址不一樣與嚴(yán)格比較運(yùn)算符的不同之處只有兩個(gè)一是不等于,二是等于自身基本用法方法用于對(duì)象的合并,將源對(duì)象的所有可枚舉屬性,賦值到目標(biāo)對(duì)象。

這是ES6的入門(mén)篇教程的筆記,網(wǎng)址:鏈接描述,以下內(nèi)容中粗體+斜體表示大標(biāo)題,粗體是小標(biāo)題,還有一些重點(diǎn);斜體表示對(duì)于自身,還需要下功夫?qū)W習(xí)的內(nèi)容。這里面有一些自己的見(jiàn)解,所以若是發(fā)現(xiàn)問(wèn)題,歡迎指出~
上一篇es5的到最后令人崩潰,看來(lái)深層的東西還是不太熟,希望這次不要這樣了?。。?/p> 對(duì)象的擴(kuò)展

1、屬性的簡(jiǎn)潔表示法
ES6允許直接寫(xiě)入變量和函數(shù),作為對(duì)象的屬性和方法,這樣的書(shū)寫(xiě)更加簡(jiǎn)潔。

const foo = "bar";
const baz = {foo};
baz // {foo: "bar"}

// 等同于
const baz = {foo: foo}; // 在對(duì)象之中,直接寫(xiě)變量,這時(shí),屬性名為變量名,屬性值為變量值

除了屬性簡(jiǎn)寫(xiě),方法也可以簡(jiǎn)寫(xiě)。

const o = {
    method() {
        return "Hello!";
    }
};

// 等同于
const o = {
    method: function() {
        return "Hello!";
    }
};

// 一個(gè)實(shí)際的例子
let birth = "2000/01/01";
const Person = {
    name: "張三",
    birth, // 等同于 birth: birth
    hello() { console.log("我的名字是", this.name); } // 等同于hello: function ()...
};

module.exports = { getItem, setItem, clear };
// 等同于
module.exports = {
    getItem: getItem,
    setItem: setItem,
    clear: clear
};

2、屬性名表達(dá)式
JavaScript定義對(duì)象的屬性,有兩種方法。

obj.foo = true; // 直接用標(biāo)識(shí)符作為屬性名
obj["a" + "bc"] = 123; // 用表達(dá)式作為屬性名,這時(shí)要將表達(dá)式放在方括號(hào)之內(nèi)

// ES6允許字面量定義對(duì)象時(shí),用表達(dá)式作為對(duì)象的屬性名,即把表達(dá)式放在**方括號(hào)**內(nèi)
let propKey = "foo";
let obj = {
    [propKey]: true,
    ["a" + "bc"]: 123
};

需要注意的是,屬性名表達(dá)式與簡(jiǎn)潔表示法,不能同時(shí)使用,會(huì)報(bào)錯(cuò)。

// 報(bào)錯(cuò)
const foo = "bar";
const bar = "abc";
const baz = { [foo] };

// 正確
const foo = "bar";
const baz = { [foo]: "abc" };

// 還需要注意的是,屬性名表達(dá)式如果是一個(gè)對(duì)象,默認(rèn)情況下會(huì)自動(dòng)將對(duì)象轉(zhuǎn)為字符串[object Object],這一點(diǎn)需要特別的小心

屬性的遍歷
ES6一共有5種方法可以遍歷對(duì)象的屬性。
(1)for...in
for...in 循環(huán)遍歷對(duì)象自身和繼承的可枚舉屬性(不含Symbol屬性)。
(2)Object.keys(obj)
Object.keys返回一個(gè)數(shù)組,包括對(duì)象自身的(不含繼承的)所有可枚舉屬性(不含Symbol屬性)的鍵名。
(3)Object.getOwnPropertyNames(obj)
Object.getOwnPropertyNames(obj)返回一個(gè)數(shù)組,包含對(duì)象自身的所有屬性(不含Symbol屬性,但是包括不可枚舉屬性)的鍵名。
(4)Object.getOwnPropertySymbols(obj)
Object.getOwnPropertySymbols返回一個(gè)數(shù)組,包含對(duì)象自身的所有Symbol屬性的鍵名。
(5)Reflect.ownKeys(obj)
Reflect.ownKeys返回一個(gè)數(shù)組,包含對(duì)象自身的所有鍵名,不管Symbol或字符串,也不管是否可枚舉。

擴(kuò)展運(yùn)算符
如果擴(kuò)展運(yùn)算符后面是一個(gè)空對(duì)象,則沒(méi)有任何效果。

{...{}, a: 1} // { a: 1 }

// 如果擴(kuò)展運(yùn)算符后面不是對(duì)象,則會(huì)自動(dòng)將其轉(zhuǎn)為對(duì)象
{...1} // {}

// 數(shù)組是特殊的對(duì)象,所以對(duì)象的擴(kuò)展運(yùn)算符也可以用于數(shù)組
let foo = { ...["a", "b", "c"] };
foo // {0: "a", 1: "b", 2: "c"  }

對(duì)象的擴(kuò)展運(yùn)算符等同于使用Object.assign()方法。(Object.assign方法只對(duì)頂層屬性賦值,并沒(méi)有繼續(xù)做遞歸,所以它并不是真正的深拷貝。)

let aClone= { ...a };
// 等同于
let aClone = Object.assign({}, a);
對(duì)象的新增方法

1、Object.is()
ES5比較兩個(gè)值是否相等,只有兩個(gè)運(yùn)算符:相等運(yùn)算符(==)和嚴(yán)格相等運(yùn)算符(===)。兩者都有缺點(diǎn),(==)會(huì)自動(dòng)轉(zhuǎn)換數(shù)據(jù)類(lèi)型,(===)的NaN不等于自身,以及+0等于-0。JavaScript缺乏一種運(yùn)算,在所有環(huán)境中,只要兩個(gè)值是一樣的,它們就應(yīng)該相等。
ES6提出“Same-value equality”(同值相等)算法,用來(lái)解決這個(gè)問(wèn)題。
Object.is就是部署這個(gè)算法的新方法。它用來(lái)比較兩個(gè)值是否嚴(yán)格相等,與嚴(yán)格比較運(yùn)算符(===)的行為基本一致。

Object.is("foo", "foo"); // true
Object.is({}, {}); // false 兩個(gè)對(duì)象的地址不一樣

// 與嚴(yán)格比較運(yùn)算符的不同之處只有兩個(gè):一是+0不等于-0,二是NaN等于自身
+0 === -0 // true
NaN === NaN // false

Object.is(+0, -0); // false
Object.is(NaN, NaN); // true

2、Object.assign()
基本用法
Object.assign方法用于對(duì)象的合并,將源對(duì)象(source)的所有可枚舉屬性,賦值到目標(biāo)對(duì)象(target)。
Object.assign方法的第一個(gè)參數(shù)是目標(biāo)對(duì)象,后面的參數(shù)都是源對(duì)象。

const target = { a: 1, b: 1 };
const source1 = { b: 2, c: 2 }; // 目標(biāo)對(duì)象與源對(duì)象有同名屬性b
const source2 = { c: 3 }; // 多個(gè)源對(duì)象有同名屬性

Object.assign(target, source1, source2);
target; // {a: 1, b: 2, c: 3} 后面的屬性會(huì)覆蓋前面的屬性

// 如果參數(shù)不是對(duì)象,則會(huì)先轉(zhuǎn)成對(duì)象,然后返回。
// 由于undefined和null無(wú)法轉(zhuǎn)成對(duì)象,所以如果它們作為參數(shù),就會(huì)報(bào)錯(cuò)。
Object.assign(undefined); // 報(bào)錯(cuò)
Object.assign(null); // 報(bào)錯(cuò)
// 如果非對(duì)象參數(shù)出現(xiàn)在源對(duì)象的位置(即非首參數(shù)),那么處理規(guī)則有所不同。首先,這些參數(shù)都會(huì)轉(zhuǎn)成對(duì)象,如果無(wú)法轉(zhuǎn)成對(duì)象,就會(huì)跳過(guò)。也就是說(shuō),如果undefined和null不在首參數(shù),就不會(huì)報(bào)錯(cuò)。
let obj = {a: 1};
Object.assign(obj, undefined) === obj; // true
Object.assign(obj, null) === obj; // true

注:
(1)淺拷貝
Object.assgin方法實(shí)行的是淺拷貝,而不是深拷貝。也就是說(shuō),如果源對(duì)象某個(gè)屬性的值是對(duì)象,那么目標(biāo)對(duì)拷貝得到的是這個(gè)對(duì)象的引用。(對(duì)于這個(gè)深表懷疑,我覺(jué)得Object.assign并不是真正意義上的淺拷貝,其他資料說(shuō)的是,對(duì)其頂層屬性賦值。)
(2)同名屬性的替換
對(duì)于這種嵌套的對(duì)象,一旦遇到同名屬性,Object.assign的處理方法是替換,而不是添加。
(3)數(shù)組的處理
Object.assign可以用來(lái)處理數(shù)組,但是會(huì)把數(shù)組視為對(duì)象。

Object.assign([1, 2, 3], [4, 5]) // [4, 5, 3]
// 上面代碼中,Object.assign把數(shù)組視為屬性名為0、1、2的對(duì)象,因此源數(shù)組的0號(hào)屬性4覆蓋了目標(biāo)數(shù)組的0號(hào)屬性1。

(4)取值函數(shù)的處理
Object.assign只能進(jìn)行值得賦值,如果要復(fù)制的值是一個(gè)取值函數(shù),那么將求值后再?gòu)?fù)制。

const source = {
    get foo() { return 1}
};
const target = {};
Object.assign(target, source); // { foo: 1 }

常見(jiàn)用途
Object.assign方法有很多用處。
(1)為對(duì)象添加屬性

class Point {
    constructor(x, y) {
        Object.assign(this, {x, y});
    }
}

(2)為對(duì)象添加方法
(3)克隆對(duì)象

function clone(origin) {
    return Object.assign({}, origin);
}

emmm,這不是深拷貝,只是對(duì)頂層屬性做了賦值。。。
(4)合并多個(gè)對(duì)象
(5)為屬性指定默認(rèn)值

4.__proto__屬性,Object.setPrototypeOf(),Object.getPrototypeOf()
JavaScript語(yǔ)言的對(duì)象繼承是通過(guò)原型鏈實(shí)現(xiàn)的。

__proto__屬性
用來(lái)讀取或設(shè)置當(dāng)前對(duì)象的prototype對(duì)象。目前,所有瀏覽器(包括IE11)都部署了這個(gè)屬性。

// es5 的寫(xiě)法
const obj = {
    method: function() { ... }
};
obj.__proto__ = someOtherObj;

// es6 的寫(xiě)法
var obj = Object.create(someOtherObj);
obj.method = function() { ... };

實(shí)際上,__proto__調(diào)用的是Object.prototype.__proto__.

5.Object.keys(), Object.values(), Object.entries()
ES5引入了Object.keys方法,返回一個(gè)數(shù)組,成員是參數(shù)對(duì)象自身的(不含繼承的)所有可遍歷(enumerable)屬性的鍵名。

var obj = { foo: "bar", baz: 42 };
Object.keys(obj);
// ["foo", "baz"]

ES2017引入了跟Object.keys配套的Object.values和Object.entries,作為遍歷一個(gè)對(duì)象的補(bǔ)充手段,供for...of循環(huán)使用.

Object.entries()
Object.entries()方法返回一個(gè)數(shù)組,成員是參數(shù)對(duì)象自身的(不含繼承的)所有可遍歷(enumerable)屬性的價(jià)值對(duì)數(shù)組。

const obj = { foo: "bar", baz: 42 };
Object.entries(obj); // [ ["foo", "bar"], ["baz", 42] ]

除了返回值不一樣,該方法的行為與Object.values基本一致。

Symbol

1.概述
ES6引入了一種新的原始數(shù)據(jù)類(lèi)型Symbol,表示獨(dú)一無(wú)二的值。它是JS語(yǔ)言的第七種數(shù)據(jù)類(lèi)型,前六種是:undefined、null、布爾值(Boolean)、字符串(String)、數(shù)值(Number)、對(duì)象(Object)。
Symbol值通過(guò)Symbol函數(shù)生成,也就是說(shuō),對(duì)象的屬性名現(xiàn)在可以有兩種類(lèi)型,一種是原來(lái)就有的字符串,另一種就是新增的Symbol類(lèi)型。凡是屬性名屬于Symbol類(lèi)型,就都是獨(dú)一無(wú)二的,可以保證不會(huì)與其他屬性名產(chǎn)生沖突。

let s = Symbol(); // 注意,Symbol函數(shù)前不能使用new命令,否則會(huì)報(bào)錯(cuò)。這是因?yàn)樯傻腟ymbol是一個(gè)原始類(lèi)型的值,不是對(duì)象。
typeof s; // "symbol"

需要注意的是,Symbol函數(shù)的參數(shù)只是表示對(duì)當(dāng)前Symbol值的描述,因此相同參數(shù)的Symbol函數(shù)的返回值是不相等的。

// 沒(méi)有參數(shù)的情況
let s1 = Symbol();
let s2 = Symbol();
s1 === s2; // false  

// 有參數(shù)的情況
let s1 = Symbol("foo");
let s2 = Symbol("foo");
s1 === s2; // false

// Symbol值不能與其他類(lèi)型的值進(jìn)行運(yùn)算,會(huì)報(bào)錯(cuò)
let sym = Symbol("My symbol");
"your symbol is " + sym; // TypeError: can"t convert symbol to string

// 但是Symbol值可以顯示轉(zhuǎn)為字符串。
let sym = Symbol("My symbol");
String(sym); // "Symbol(My symbol)"
sym.toString(); // "Symbol(My symbol)"

......
下面的內(nèi)容就挑著看了。。。。。

// 去除數(shù)組重復(fù)成員的方法:
[...new Set(array)];

NaN == NaN; // false
let set = new Set();
let a = NaN;
let b = NaN;
set.add(a);
set.add(b);
set; // Set {NaN} 說(shuō)明在Set內(nèi)部,兩個(gè)NaN是相等的。

set = new Set();
set.add({});
set.size; // 1
set.add({});
set.size; // 2  說(shuō)明兩個(gè)空對(duì)象在Set里面是不相等的。

編程風(fēng)格
1、塊級(jí)作用域
1)let取代var
ES6提出了兩個(gè)新的聲明變量的命令:let和const,其中,let完全可以取代var,因?yàn)閮烧叩恼Z(yǔ)義相同,而且let沒(méi)有副作用。
2)全局常量和線(xiàn)程安全
在let和const之間,建議優(yōu)先使用const,尤其是在全局環(huán)境,不應(yīng)該設(shè)置變量,只應(yīng)設(shè)置常量。
const比較符合函數(shù)式編程思想,運(yùn)算不改變值,只是新建值,而且這樣也有利于將來(lái)的分布式運(yùn)算;并且JavaSCript編譯器回對(duì)const進(jìn)行優(yōu)化,多使用const,有利于提高程序的運(yùn)行效率,也就是說(shuō)let和const的本質(zhì)區(qū)別,其實(shí)是編譯器內(nèi)部的處理不同。

// bad 
var a = 1, b = 2, c = 3;

// good
const a = 1;
const b = 2;
const c = 3;

// best
const [a, b, c] = [1, 2, 3];

2、字符串
靜態(tài)字符串一律使用單引號(hào)或反引號(hào),不使用雙引號(hào)。動(dòng)態(tài)字符串使用反引號(hào)。

// bad
const a = "foobar";
const b = "foo" + a + "bar";

// acceptable
const c = `foobar`;

// good
const a = "foobar";
const b = `foo${a}bar`;

3、解構(gòu)賦值
使用數(shù)組成員對(duì)變量賦值時(shí),優(yōu)先使用解構(gòu)賦值。

const arr = [1, 2, 3, 4];

// bad
const first = arr[0];
const second = arr[1];

// good
const [first, second] = arr;

函數(shù)的參數(shù)如果是對(duì)象的成員,優(yōu)先使用解構(gòu)賦值。

// bad
function getFullName(user) {
    const firstName = user.firstName;
    const lastName = user.lastName;
}

// good
function getFullName(obj) {
    const { firstName, lastName } = obj;
}

// best
function getFullName({ firstName, lastName }) {
}

4、對(duì)象
單行定義的對(duì)象,最后一個(gè)成員不以逗號(hào)結(jié)尾。多行定義的對(duì)象,最后一個(gè)成員以逗號(hào)結(jié)尾。

// bad
const a = { k1: v1, k2: v2, };
const b = {
    k1: v1,
    k2: v2
};

// good
const a = { k1: v1, k2: v2 };
const b = {
    k1: v1,
    k2: v2
};

對(duì)象盡量靜態(tài)化,一旦定義,就不得隨意添加新的屬性。如果添加屬性可不避免,要使用Object.assign方法。

// bad
const a = {};
a.x = 3;

// if reshape unavoidable
const a = {};
Object.assign(a, { x: 3 });

// good
const a = { x: null };
a.x = 3;

如果對(duì)象的屬性名是動(dòng)態(tài)的,可以在創(chuàng)造對(duì)象的時(shí)候,使用屬性表達(dá)式定義。

// bad
const obj = {
    id: 5,
    name: "San Francisco",
};
obj[getKey("enabled")] = true;

// good 
const obj = {
    id: 5,
    name: "San Francisco",
    [getKey("enabled")]: true
};

// 對(duì)象的屬性和方法,盡量采用簡(jiǎn)潔表達(dá)式,這樣易于描述和書(shū)寫(xiě)
var ref = "some value";
// bad
const atom = {
    ref: ref,
    value: 1,
    addValue: function (value) {
        return atom.value + value;
    },
};

// good
const atom = {
    ref,
    value: 1,
    addValue(value) {
        return atom.value + value;
    },
};

5、數(shù)組
使用擴(kuò)展運(yùn)算符(...)拷貝數(shù)組。

// bad
const len = items.length;
const itemsCopy = [];
let i ;
for(i = 0; i < len; i++) {
    itemsCopy[i] = items[i];
}

// good
const itemsCopy = [...items];

使用Array.from方法,將類(lèi)似數(shù)組的對(duì)象轉(zhuǎn)為數(shù)組。

const foo = document.querySelectorAll(".foo");
const nodes = Array.form(foo);

6、函數(shù)
立即執(zhí)行函數(shù)可以寫(xiě)成箭頭函數(shù)的形式。

(() => {
    console.log("Welcome to the Internet.");
})();

那些使用匿名函數(shù)當(dāng)作參數(shù)的場(chǎng)合,盡量用箭頭函數(shù)代替,因?yàn)檫@樣更簡(jiǎn)潔,而且綁定了this。

// bad
[1, 2, 3].map(function (x) {
    return x * x;
});

// good
[1, 2, 3].map((x) => {
    return x * x;
});

// bset
[1, 2, 3].map(x => x * x);

使用默認(rèn)值語(yǔ)法設(shè)置函數(shù)參數(shù)的默認(rèn)值。

// bad
function handleThings(opts) {
    opts = opts || {};
}

// good
function handleThings(opts = {}) {}

9、模塊
Module語(yǔ)法是JavaScript模塊的標(biāo)準(zhǔn)寫(xiě)法。使用import取代require。

// bad
const moduleA = require("moduleA");
const func1 = moduleA.func1;
const func2 = moduleA.func2;

// good
import { func1, func2 } from "moduleA";

使用export取代module.exports。

// commonJS的寫(xiě)法
var React = require("react")"
var Breadcrumbs = React.createClass=({
    render() {
        return 

不要在模塊輸入中使用通配符。因?yàn)檫@樣可以確保你的模塊之中,有一個(gè)默認(rèn)輸出(export default)。

// bad
import * ad myObject from "./importModule";

// good 
import myObject from "./importModule";

如果模塊默認(rèn)輸出一個(gè)函數(shù),函數(shù)名的首字母應(yīng)該小寫(xiě);如果模塊默認(rèn)輸出一個(gè)對(duì)象,對(duì)象名的首字母應(yīng)該大寫(xiě)。

function makeStyleGuide() {}
export default makeStyleGuide;

const StyleGuide = {
    es6: {}
}
export default StyleGuide;

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/106807.html

相關(guān)文章

  • ES6-前世今生(0)

    摘要:更新了個(gè)版本,最新正式版是語(yǔ)言的下一代標(biāo)準(zhǔn),早已在年月正式發(fā)布。基本不支持移動(dòng)端瀏覽器對(duì)的支持情況版起便可以支持的新特性。比較通用的工具方案有,,,等。 1、ECMAScript是什么? 和 JavaScript 有著怎樣的關(guān)系? 1996 年 11 月,Netscape 創(chuàng)造了javascript并將其提交給了標(biāo)準(zhǔn)化組織 ECMA,次年,ECMA 發(fā)布 262 號(hào)標(biāo)準(zhǔn)文件(ECMA-...

    LeviDing 評(píng)論0 收藏0
  • 給React初學(xué)者的10分鐘ES6教程

    摘要:但是在中,可以通過(guò)關(guān)鍵字來(lái)實(shí)現(xiàn)類(lèi)的繼承的使用可以使得繼承意義更加明確并且值得一提的是,如果你使用來(lái)定義的組件,那么可以在類(lèi)的構(gòu)造器里面,用簡(jiǎn)單的的聲明方式來(lái)替代方法。 原文:The 10 min ES6 course for the beginner React Developer譯者:Jim Xiao 著名的80/20定律可以用來(lái)解釋React和ES6的關(guān)系。因?yàn)镋S6增加了超過(guò)75...

    Awbeci 評(píng)論0 收藏0
  • ES6-7

    摘要:的翻譯文檔由的維護(hù)很多人說(shuō),阮老師已經(jīng)有一本關(guān)于的書(shū)了入門(mén),覺(jué)得看看這本書(shū)就足夠了。前端的異步解決方案之和異步編程模式在前端開(kāi)發(fā)過(guò)程中,顯得越來(lái)越重要。為了讓編程更美好,我們就需要引入來(lái)降低異步編程的復(fù)雜性。 JavaScript Promise 迷你書(shū)(中文版) 超詳細(xì)介紹promise的gitbook,看完再不會(huì)promise...... 本書(shū)的目的是以目前還在制定中的ECMASc...

    mudiyouyou 評(píng)論0 收藏0
  • 你該知道的ES6那些事兒

    摘要:最近重構(gòu)了一個(gè)項(xiàng)目,引入了部分用法,最大的感受是讓這門(mén)語(yǔ)言變得更加嚴(yán)謹(jǐn),更加方便。通過(guò)該方法獲得位置后還得比較一次才能判斷是否存在。再來(lái)看看的寫(xiě)法使用數(shù)組來(lái)初始化一個(gè),構(gòu)造器能確保不重復(fù)地使用這些值。下面提供鏈接,供有興趣的朋友參考。 最近重構(gòu)了一個(gè)SPA項(xiàng)目,引入了部分ES6用法,最大的感受是ES6讓javascript這門(mén)語(yǔ)言變得更加嚴(yán)謹(jǐn),更加方便。本篇將結(jié)合實(shí)戰(zhàn)經(jīng)驗(yàn),對(duì)最常用的部...

    CoffeX 評(píng)論0 收藏0
  • 10個(gè)最佳ES6特性

    摘要:,正式名稱(chēng)是,但是這個(gè)名稱(chēng)更加簡(jiǎn)潔。已經(jīng)不再是最新的標(biāo)準(zhǔn),但是它已經(jīng)廣泛用于編程實(shí)踐中。而制定了模塊功能。自從年雙十一正式上線(xiàn),累計(jì)處理了億錯(cuò)誤事件,得到了金山軟件等眾多知名用戶(hù)的認(rèn)可。 譯者按: 人生苦短,我用ES6。 原文: Top 10 ES6 Features Every Busy JavaScript Developer Must Know 譯者: Fundebug 為了保...

    codeKK 評(píng)論0 收藏0
  • [ ES6 ] 快速掌握常用 ES6 (一)

    摘要:常量變量先說(shuō)說(shuō)常量和變量的概念吧,常量是說(shuō)那種進(jìn)行一次賦值后不會(huì)更改的值,比如說(shuō)游戲賬戶(hù)的,變量是說(shuō)賦值后有更改的需求的,比如游戲名,游戲密碼。常用實(shí)例交換變量的值提取數(shù)據(jù)解構(gòu)賦值對(duì)提取對(duì)象中的數(shù)據(jù),尤其有用。 本系列文章適合快速掌握 ES6 入門(mén)語(yǔ)法,想深入學(xué)習(xí) ES6 的小伙伴可以看看阮一峰老師的《ECMAScript 6 入門(mén)》 學(xué)習(xí) 20% 的知識(shí)完成 80% 的工作 關(guān)于 ...

    ispring 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<