ES6之物件字面量擴充套件語法(Enhanced Object Literals)
物件字面量擴充套件語法(Enhanced Object Literals)
目錄:
函式類屬性的省略語法
用法:{ method() {…} }
const obj = {
//Before
foo: function(){
return 'foo';
},
//After
bar(){
return 'bar';
}
}
支援 proto 注入
開發者允許直接向一個物件字面量注入__proto__
,使其直接成為指定類的一個例項,而無須另外建立一個類來實現繼承。
import {EventEmitter} from 'events'
const machine = {
__proto__: new EventEmitter(),
method(){ /* …*/ },
// …
}
console.log(machine); //EventEmitter {}
console.log(machine instanceof EventEmitter) //true
machine.on('event', msg => console.log(`Received message: ${msg}`));
machine.emit('event' , 'hello world');
// Received message: hello world
machine.method(/* …. */);
可動態計算的屬性名
ES6 引入的新語法允許我們直接使用一個表示式來表達一個屬性名用法:{ [statement]: value}
const prefix = 'ES6';
const obj = {
[prefix + 'enhancedObject']: 'foo'
}
將屬性名定義省略
有時候我們需要將一些已經被定義的變數(或常量)作為其他物件字面量的屬性值進行返回或傳入操作,而大多數情況下這些變數名和屬性名都是相同的
const foo = 123;
const bar = () => foo;
const obj = {
foo,
bar
}
console.log(obj); //{ foo: 123, bar: [Function] }
相關推薦
ES6之物件字面量擴充套件語法(Enhanced Object Literals)
物件字面量擴充套件語法(Enhanced Object Literals) 目錄: 函式類屬性的省略語法 用法:{ method() {…} } const obj = { //Before foo: funct
ES6 之 物件的擴充套件
屬性的簡潔表示法 let book = '234'; let good = '432'; let obj01 = { book, good } console.log(obj01); 方法名的name屬性 .....  
Es6物件字面量的改進
(1)對屬性名的簡寫: ES5的寫法: const name='Marray'; const age=20; const birthday="2018 10 20"; const Marray={ name:name, age:age, birthday:bi
js基礎-物件字面量(json存在的物件)
<!DOCTYPE html> <html> <head> <m
物件字面量宣告和建構函式宣告的比較
去某家面試的時候,在筆試的時候,看到了這個問題,回來研究一下。 JS 中有很多種物件的宣告方式,一般我用到的也就是這兩種,通過字面量來宣告物件和通過建構函式來宣告物件。 用字面量來宣告物件 我們可以直接
Java之物件的多型性(使用生活中通俗的例子講解)
Java之物件的多型性多型概念 (Java) 多型(英語:polymorphism),是指計算機程式執行時,相同的訊息可能會送給多個不同的類別之物件,而系統可依據物件所屬類別,引發對應類別的方法,而有不同的行為。簡單來說,所謂多型意指相同的訊息給予不同的物件會引發不同的
從壹開始前後端分離 [ Vue2.0+.NET Core2.1] 十五 ║Vue基礎:JS面向物件&字面量& this字
緣起 書接上文《從壹開始前後端分離 [ Vue2.0+.NET Core2.1] 十四 ║ VUE 計劃書 & 我的前後端開發簡史》,昨天咱們說到了以我的經歷說明的web開發經歷的幾個階段,而且也說到了Vue系列需要講到的知識點,今天就正式開始Code,當然今天的程式碼都特別簡單,希望大家慢慢的
物件字面量傳遞引數方法
函式引數的2種傳遞方式:命名引數、物件字面量方式 函式傳遞引數,在有多個可選引數的情況下傳統的命名引數顯的比較死板,不夠靈活。 最好的做法是對那些必需值使用命名引數,而使用物件字面量來封裝多個可選引數! ......
深入理解ES6之物件
一:物件的屬性 1:屬性速記法: //之前 function createPerson(name,age){ return { name:name, age:age
函式之函式字面量
### 函式字面量#### what 綜合尋找文件,找到了4.2. Function Literal,文章中表達的意思是: 函式字面量由4部分組成* 關鍵詞 function* 函式名,可有可無* 包含在括號內的引數,當然引數也是可有可無的,括號不能少。* 是一組包裹在大括
Esper學習之十一:EPL語法(七)
轉載請註明出處:http://blog.csdn.net/luonanqin 元宵過後回公司上班,換了個部門,換了個領導,做的事也換了,不過Esper還是會繼續搞,所以部落格也會慢慢寫的,大家別急。^_^ 上一篇說到了EPL如何訪問關係型資料
JS乾貨--物件字面量
Why? 一把在JS中宣告物件,大家多會這麼寫var a = {}; 很少有人這麼寫:var a = new Object(); 這是為什麼呢? 1、首先{}這叫做物件字面量,new Object()則是使用構造器函式。 2、明顯的物件
淺談Express中的app.locals物件字面量
原文:http://cnodejs.org/topic/57a5b34300bb7f2c700c7b9c 為什麼app.locals定義的鍵值對能在模板中直接訪問呢 不知道大家在使用express框架開發的過程中,有沒有過這樣的疑問,在app.locals這個物件字面
JS語言精粹學習筆記--物件字面量
物件 JS的簡單資料型別包括:數字、字串、布林值(true/false)、null值和undefined,其他所有的值都是物件。數字、字串、布林值貌似物件,因為他們擁有方法,但他們是不可變的。JS中的物件是可變的鍵控集合(keyed collection)。在JS中,陣列、
ES6新語法之---對象字面量擴展、模板字符串(5)
ons 可靠的 小數 為我 寫法 define 當前 BE dde 這節課學習ES6中對象字面量擴展和新增模板字符串 第一部分:對象字面量擴展 1.簡潔寫法 ES6對於對象字面量屬性提供了簡寫方式。 1.1:屬性簡寫 //傳統寫法
ECMAScript6(ES6)標準之物件Object擴充套件方法及新特性
ES6對於Object也擴增了幾個方法 不過最重要的是 ES6擴充套件了一些語法 比如說允許直接寫入變數和函式,作為物件的屬性和方法 使我們的物件更加簡潔 下面我就來詳細說明一下 語法擴充套件 簡寫物件屬性 let name = 'p
3、多用字面量語法,少用與之等價的方法
keys obj ble alloc ive 3.1 per 無法 bsp 1、字面字符串 摒棄: NSString *someString = [[NSString alloc] initWithString: @"Effective Objective-C 2.0"];
python_cookbook之路:數據結構-解壓可叠代對象賦值給多個變量以及擴展的叠代解壓語法(*)
rec 3.4 open pan spl python res cor coo 1.一一對應: >>> data = [ ‘ACME‘, 50, 91.1, (2012, 12, 21) ] >>> name, shares, pri
JS 語法之--物件型別(構造器,class,this),高階物件(高階類,Minix模式)
1、JS 物件型別 JavaScript 是一種基於原型(prototype)的面嚮物件語言,而不是基於類的面嚮物件語言 C++, Java 有類Class 和例項Instance 的概念,類是一類事物 的抽象,而例項則是類的實體。 JS是基於原型的語言,它只有原型物件的概念,原型物件就是一
ES6 Promise物件之例項方法(2)
ES6 Promise物件之例項方法(2) 上一篇關於Promise的文章介紹了Promise的基本用法,這一篇繼續上一篇,介紹Promise的各種方法: (1)Promise.prototype.then() then方法是定義在原型物件Promise.prototype上的。