three dot operator javascript code example

Example 1: javascript ... operator three dots

function sum(x, y, z) {
  return x + y + z;
}

const numbers = [1, 2, 3];

console.log(sum(...numbers));
// expected output: 6

console.log(sum.apply(null, numbers));
// expected output: 6

/* Spread syntax (...) allows an iterable such as an array expression or string 
to be expanded in places where zero or more arguments (for function calls) 
or elements (for array literals) are expected, or an object expression to be 
expanded in places where zero or more key-value pairs (for object literals) 
are expected. */

// ... can also be used in place of `arguments`
// For example, this function will add up all the arguments you give to it
function sum(...numbers) {
  let sum = 0;
  for (const number of numbers)
    sum += number;
  return sum;
}

console.log(sum(1, 2, 3, 4, 5));
// Expected output: 15

// They can also be used together, but the ... must be at the end
console.log(sum(4, 5, ...numbers));
// Expected output: 15

Example 2: dot operator javascript

Lets first look at Dot notation. Consider this example below:
let obj = {
  cat: 'meow',
  dog: 'woof'
};
let sound = obj.cat;
console.log(sound);
// meow
I want to bring your attention to the fifth line where we’re using dot notation: let sound = obj.cat;. This is an example of dot notation. You can access properties on an object by specifying the name of the object, followed by a dot (period) followed by the property name. This is the syntax: objectName.propertyName;.
When working with dot notation, property identifies can only be alphanumeric (and _ and $). Properties can’t start with a number.