国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

ES6新特性

chaos_G / 808人閱讀

摘要:官網(wǎng)官網(wǎng)阮一峰教程簡(jiǎn)介即是最新版本的標(biāo)準(zhǔn)。是該語(yǔ)言的重大更新。主流的引擎正在對(duì)這些新特性提供支持。特性箭頭函數(shù)箭頭函數(shù)是函數(shù)的簡(jiǎn)寫(xiě),使用語(yǔ)法。箭頭函數(shù)內(nèi)的與其外部的一致同。

ES6官網(wǎng) http://www.ecma-international...
Babel官網(wǎng) https://babeljs.io/learn-es2015/
GitHub http://es6-features.org
GitHub https://github.com/lukehoban/...
阮一峰ES6教程 http://es6.ruanyifeng.com/

ES6簡(jiǎn)介

ES6(即ES2015)是最新版本的ECMAScript標(biāo)準(zhǔn)。
ES6是該語(yǔ)言的重大更新。
主流的JS引擎正在對(duì)這些新特性提供支持。

ES6特性 箭頭函數(shù)(Arrows)

箭頭函數(shù)是函數(shù)的簡(jiǎn)寫(xiě),使用=>語(yǔ)法。
箭頭函數(shù)可以寫(xiě)在塊語(yǔ)句內(nèi)也可以寫(xiě)在表達(dá)式內(nèi)。
箭頭函數(shù)內(nèi)的this與其外部的this一致(arguments同)。(看過(guò)編譯后的ES5就可以發(fā)現(xiàn)其實(shí)是在外部將this存為_(kāi)this,然后箭頭函數(shù)內(nèi)使用_this)

// Expression bodies
var evens = [1,3,5,7,9];
var odds = evens.map(v => v + 1);
var nums = evens.map((v, i) => v + i);
var pairs = evens.map(v => ({even: v, odd: v + 1}));// 如返回對(duì)象則必須使用()將對(duì)象包裹

// Statement bodies
var fives = [];
nums.forEach(v => {
  if (v % 5 === 0)
    fives.push(v);
});

// Lexical this
var bob = {
  _name: "Bob",
  _friends: ["cuiyang"],
  printFriends() {
  var cythis = this;
    this._friends.forEach(f =>
      console.log(this._name + " knows " + f));
      console.log(cythis === this);
  }
}

// Lexical arguments
function square() {
  let example = () => {
    let numbers = [];
    for (let number of arguments) {
      numbers.push(number * number);
    }
    return numbers;
  };
  return example();
}

square(2, 4, 7.5, 8, 11.5, 21); // returns: [4, 16, 56.25, 64, 132.25, 441]
類(lèi)(Classes)

ES6的類(lèi)是基于原型繼承語(yǔ)法的語(yǔ)法糖。
除了支持原型繼承外,還支持super調(diào)用,實(shí)例,靜態(tài)方法,構(gòu)造器

// constructor,super,getter,setter,method
class Point {
  constructor(x, y) {
    this.x = x;
    this.y = y;
  }
}

class ColorPoint extends Point {
  constructor(x, y, color) {
    // this.color = color; // ReferenceError.因?yàn)樽宇?lèi)實(shí)例的構(gòu)建,是基于對(duì)父類(lèi)實(shí)例加工,只有super方法才能返回父類(lèi)實(shí)例。
    super(x, y);
    this.color = color; // 正確
  }
  update(camera) {
    //...
    super.update();  // setter: 123
  }
  get color() {
    return "getter";  //getter
  }
  set color(value) {
    console.log("setter: "+value);
  }
}

// static method
class Foo {
    static classMethod() {
        return "hello";
    }
}
Foo.classMethod() // "hello"
var foo = new Foo();
// foo.classMethod(); // TypeError: foo.classMethod is not a function
增強(qiáng)的對(duì)象字面量(Enhanced Object Literals)

對(duì)象字面量新增支持:指定原型,簡(jiǎn)寫(xiě)屬性賦值,定義方法,調(diào)用super,計(jì)算屬性名

var obj = {
    // __proto__
    __proto__: theProtoObj,
    // Shorthand for ‘handler: handler’
    handler,
    // Methods
    toString() {
     // Super calls
     return "d " + super.toString();
    },
    // Computed (dynamic) property names
    [ "prop_" + (() => 42)() ]: 42
};
模板字符串(Template Strings)

模板字符串提供了構(gòu)建字符串的語(yǔ)法糖,可在字符串模板內(nèi)添加標(biāo)記以定制生成不同的字符串。

// Basic literal string creation
`In JavaScript "
" is a line-feed.`

// Multiline strings
`In JavaScript this is
 not legal.`

// String interpolation
var name = "Bob", time = "today";
`Hello ${name}, how are you ${time}?`

// Construct an HTTP request prefix is used to interpret the replacements and construction
POST`http://foo.org/bar?a=${a}&b=${b}
     Content-Type: application/json
     X-Credentials: ${credentials}
     { "foo": ${foo},
       "bar": ${bar}}`(myOnReadyStateChangeHandler);
解構(gòu)(Destructuring)

解構(gòu)語(yǔ)法是一個(gè)Javascript表達(dá)式,可以將值從數(shù)組或?qū)ο筇崛〉讲煌淖兞恐小?/p>

// list matching
var [a, , b] = [1,2,3];

// object matching
var { op: a, lhs: { op: b }, rhs: c }
       = getASTNode()

// object matching shorthand
// binds `op`, `lhs` and `rhs` in scope
var {op, lhs, rhs} = getASTNode()

// Can be used in parameter position
function g({name: x}) {
  console.log(x);
}
g({name: 5})

// Fail-soft destructuring
var [a] = [];
a === undefined;

// Fail-soft destructuring with defaults
var [a = 1] = [];
a === 1;

kkk

function f(x, y=12) {
  // y is 12 if not passed (or passed as undefined)
  return x + y;
}
f(3) == 15

function f(x, ...y) {
  // y is an Array
  return x * y.length;
}
f(3, "hello", true) == 6

function f(x, y, z) {
  return x + y + z;
}
// f(...[1,2,3]) == 6

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

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

相關(guān)文章

  • 使用ES6特性開(kāi)發(fā)微信小程序

    摘要:使用新特性開(kāi)發(fā)微信小程序國(guó)際化與本地化新特性國(guó)際化與本地化新增了很多對(duì)于國(guó)際化的支持,比如時(shí)間格式,貨幣格式,數(shù)字格式等。 ECMAScript 6(簡(jiǎn)稱(chēng)ES6)是JavaScript語(yǔ)言的最新標(biāo)準(zhǔn)。因?yàn)楫?dāng)前版本的ES6是在2015年發(fā)布的,所以又稱(chēng)ECMAScript 2015。 微信小程序支持絕大部分ES6的新增特性。 使用ES6新特性開(kāi)發(fā)微信小程序(1) ES6新特性:Cons...

    Backache 評(píng)論0 收藏0
  • 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
  • 你不知道的JavaScript(ES6與之未來(lái))

    摘要:然而,臨近規(guī)范發(fā)布時(shí),有建議提及未來(lái)的版本號(hào)切換為編年制,比如用同來(lái)指代在年末前被定稿的所有版本。總得來(lái)說(shuō)就是版本號(hào)不再那么重要了,開(kāi)始變得更像一個(gè)萬(wàn)古長(zhǎng)青的活標(biāo)準(zhǔn)。 你不知道的JS(下卷)ES6與之未來(lái) 第一章:ES的今與明 在你想深入這本書(shū)之前,你應(yīng)該對(duì)(在讀此書(shū)時(shí))JavaScript的最近標(biāo)準(zhǔn)掌握熟練,也就是ES5(專(zhuān)業(yè)來(lái)說(shuō)是ES 5.1)。在此,我們決定全方面地談?wù)撽P(guān)于將近的...

    Julylovin 評(píng)論0 收藏0
  • ES6 走馬觀花(ECMAScript2015 特性

    摘要:字面上是生成器的意思,在里是迭代器生成器,用于生成一個(gè)迭代器對(duì)象。當(dāng)執(zhí)行的時(shí)候,并不執(zhí)行函數(shù)體,而是返回一個(gè)迭代器。迭代器具有方法,每次調(diào)用方法,函數(shù)就執(zhí)行到語(yǔ)句的地方。也有觀點(diǎn)極力反對(duì),認(rèn)為隱藏了本身原型鏈的語(yǔ)言特性,使其更難理解。 本文為 ES6 系列的第一篇。旨在給新同學(xué)一些指引,帶大家走近 ES6 新特性。簡(jiǎn)要介紹: 什么是 ES6 它有哪些明星特性 它可以運(yùn)行在哪些環(huán)境 ...

    wangzy2019 評(píng)論0 收藏0
  • ES6特性概述 - ES6 - ECMAScript特性 - Javascript核心

    摘要:特性概述比較新特性更多。之后后分篇描述目前已經(jīng)比較成熟的語(yǔ)法特性例如和。同上,但返回該元素的索引號(hào)。和對(duì)象的屬性行為一致。不將參數(shù)強(qiáng)制轉(zhuǎn)行為。判斷是否為在范圍內(nèi)的正整數(shù)。不少層面的特性可以通過(guò)進(jìn)行兼容性支持。 原文: http://pij.robinqu.me/JavaScript_Core/ECMAScript/es6/es6_api_extension.html 源...

    Ali_ 評(píng)論0 收藏0
  • 你需要了解的ES6特性(前沿技術(shù))

    摘要:年月,的創(chuàng)造者公司,決定將提交給國(guó)際標(biāo)準(zhǔn)化組織,希望這種語(yǔ)言能夠成為國(guó)際標(biāo)準(zhǔn)。這表示外層代碼塊不受內(nèi)層代碼塊的影響。也可以運(yùn)用于函數(shù)及其他文中就簡(jiǎn)單介紹這么多,想更加了解新特性的可以自尋查看一下阮一峰的一本入門(mén) ES6新特性 最近在項(xiàng)目中遇到了很多ES6的語(yǔ)法,遇到了不少坑坑洼洼,因此,在這里就簡(jiǎn)單介紹一下ES6中的一些新特性 如果想真正的了解ES6和ES5有什么不同,這里推薦看一下...

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

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

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<