In JavaScript ES6 (ECMAScript 2015), shorthand properties and method names provide a more concise way to define object literals, making your code cleaner and easier to read. Here’s a detailed explanation of both:


Shorthand Properties

Shorthand properties allow you to omit the key-value pairing when the property name matches the variable name.

const variableName = value;

const obj = {
    variableName, // shorthand for variableName: variableName
};
const name = "John";
const age = 30;

const person = {
    name, // equivalent to name: name
    age,  // equivalent to age: age
};

console.log(person); // { name: "John", age: 30 }

- Use Cases:

  • Simplify object creation: Especially when you're dealing with many variables that should be included in an object.
  • Readable code: Makes the object declaration shorter and less repetitive.

Shorthand Method Names

In ES6, you can define methods in object literals without using the function keyword. This is known as a shorthand method.

const obj = {
    methodName() {
        // method body
    },
};
const person = {
    name: "Alice",
    greet() {
        console.log(`Hello, my name is ${this.name}`);
    },
};

person.greet(); // Hello, my name is Alice

Differences from Traditional Function Syntax:

const obj = {
    methodName: function() {
        // method body
    },
};

Shorthand syntax removes the need for function.

- Advantages:

  • Conciseness: Saves space by omitting function.
  • Improved readability: Highlights that it’s a method of the object.

Combining Shorthand Properties and Methods

const firstName = "Jane";
const lastName = "Doe";

const user = {
    firstName,
    lastName,
    getFullName() {
        return `${this.firstName} ${this.lastName}`;
    },
};

console.log(user.getFullName()); // Jane Doe

By using these ES6 features, you can make your code more concise and expressive while maintaining clarity.