2016-08-07 3 views
2

При создании заводских функций JavaScript меня учили, что возвращение синтаксис выглядит как ниже:Объект Буквального значения Свойства стенографии

function FF(constructorArg) { 
    var _privateName = constructorArg; 

    var publicMessage = "Hello StackOverflow"; 

    function publicMethodGetName() { 
     return _privateName; 
    } 

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

Однако, я только что заметил, что я могу упростить возвращение к следующему:

return { publicMethodGetName, publicMessage }; 

и все еще работает.

Есть ли какие-либо непредвиденные побочные эффекты от использования этого более простого синтаксиса или его использование?

+1

Это ES6, который не будет работать на старых JS-двигателях (более старые браузеры и т. Д.). См. Https://ariya.io/2013/02/es6-and-object-literal-property-value-shorthand – Phil

ответ

2

Это сокращенный синтаксис определения свойств объектного литерала, который был введен ECMAScript2015 (a.k.a. ES6). Единственной возможной проблемой является экологическая поддержка. Окружающая среда должна поддерживать эту функцию.

Для поддержки среды на основе ES5 вы можете использовать трансилер ES6 и преобразовать код в ES5.

Смежные вопросы