ES6 Object Literal Property Value Shorthand i JavaScript

I JavaScript er vi vant til at konstruere et objekt ved at bruge den bogstavelige syntaks {...} , hvor hvert nøgle-værdi-par er defineret eksplicit. Vi bruger ofte de samme objektnøglenavne som de eksisterende variabler, som vi bruger som værdier.

Lad os se på følgende eksempel:

var name = 'John Doe';
var email = '[email protected]';
var age = 25;

var user = {
    name: name,
    email: email,
    age: age
};

Som du kan se ovenfor, har egenskaberne de samme navne som variabler. Stenografien objekt literal egenskabsværdi blev introduceret i ES6 for at gøre objektinitialiseringen kortere.

Det giver os mulighed for at definere et objekt, hvis nøgler har de samme navne som variablerne, der sendes ind som egenskaber, ved blot at overføre variablerne:

let name = 'John Doe';
let email = '[email protected]';
let age = 25;

let user = { name, email, age };

console.log(user);

// { 
//     name: 'John Doe', 
//     email: '[email protected]', 
//     age: 25 
// }

Egenskabsværdiens stenografiske syntaks konverterer automatisk hver variabel til et nøgle-værdi-par med variabelnavnet som en egenskabsnøgle og variabelværdien som en egenskabsværdi.

Du kan også kombinere både almindelige egenskaber og stenografier i det samme objekt. Dette er især nyttigt, når du vil tildele et andet nøglenavn til en egenskab end variabelnavnet:

let user = { name, userEmail: email, age };

// { 
//     name: 'John Doe', 
//     userEmail: '[email protected]', 
//     age: 25 
// }