簡體   English   中英

對象文字屬性值速記

[英]Object Literal Property Value Shorthand

創建JavaScript工廠函數時,我被告知返回語法如下所示:

function FF(constructorArg) {
   var _privateName = constructorArg;

   var publicMessage = "Hello StackOverflow";

   function publicMethodGetName() {
      return _privateName;
   }

   return {
      publicMethodGetName: publicMethodGetName,
      publicMessage: publicMessage
   };
}

但是,我剛剛注意到,我可以簡化對以下內容的返回:

 return { publicMethodGetName, publicMessage };

而且仍然有效。

使用這種簡單語法會有任何意想不到的副作用嗎?還是可以使用?

這是定義對象文字屬性的簡寫語法,由ECMAScript2015(aka ES6)引入。 唯一可能的問題是環境支持。 環境應支持此功能。

為了支持基於ES5的環境,您可以使用ES6編譯器並將代碼轉換為ES5。

這是新的es6語法。 除非您編譯到es5,否則只有某些瀏覽器會支持它。 請參閱兼容性表: https : //developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Object_initializer

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM