ECMAScript 6,es6 get和set的區別

 前言:ECMAScript 6是什麼

一個常見的問題是,ECMAScript 和 JavaScript 究竟是什麼關係?

要講清楚這個問題,須要回顧歷史。1996 年 11 月,JavaScript 的創造者 Netscape 公司,決定將 JavaScript 提交給標準化組織 ECMA,但願這種語言可以成爲國際標準。次年,ECMA 發佈 262 號標準文件(ECMA-262)的初版,規定了瀏覽器腳本語言的標準,並將這種語言稱爲 ECMAScript,這個版本就是 1.0 版。

該標準從一開始就是針對 JavaScript 語言制定的,可是之因此不叫 JavaScript,有兩個緣由。一是商標,Java 是 Sun 公司的商標,根據受權協議,只有 Netscape 公司能夠合法地使用 JavaScript 這個名字,且 JavaScript 自己也已經被 Netscape 公司註冊爲商標。二是想體現這門語言的制定者是 ECMA,不是 Netscape,這樣有利於保證這門語言的開放性和中立性。

所以,ECMAScript 和 JavaScript 的關係是,前者是後者的規格,後者是前者的一種實現(另外的 ECMAScript 方言還有 JScript 和 ActionScript)。平常場合,這兩個詞是能夠互換的。

 示例

先說get (getter)按我本身的理解,就是

類的屬性成了動態的(個人語言能力有限---)、比較官方的說法就是 get語法將對象屬性綁定到查詢該屬性時將被調用的函數。瀏覽器

 

class satan{
//能夠return返回字符串 成爲當前對象status的string屬性 get status() {
return "有了更搞的擴展性,能夠動態設置屬性"; }
//也能夠這樣用
satans = {
a:'a',b:'b',c:'c'
}
get init()
{
return this.satans.a //string a
} }
//實例化 satan = new satan(); //控制檯打印 console.log(satan.status);

 

還有個setter 用法也是和上面的差很少

const satan = {
   blog:[],
  set push(data)
{
  this.blog.push(data)
}  
}
satan.push('aa');
//控制檯打印 array aa
console.log(satan.blog);

總結

固然,我這僅僅是簡單舉個例子,應該還有更多實用的語法。

相關文章
相關標籤/搜索