• for of
  • Trenary
  • Short Circuit
  • Spread Operator
  • Destructure
  • Arrow Function
  • Property Shorthand
  • Method Shorthand

for of

iterate over an array

const names = ['nisim', 'shomo', 'david'];

instead of

for (let i = 0; i < names.length; i++) {
	const name = names[i];
	console.log(name);
}

for of syntax

for (const name of names) {
	console.log(name);
}

Trenary

instead of

function printEvenOrOdd(num) {
	if (num % 2 === 0) {
		console.log('even');
	}
	else {
		console.log('odd');
	}
}

use trenary

function printEvenOrOdd(num) {
	console.log(num % 2 === 0 ? 'even' : 'odd');
}

Short Circuit

great documentation of mdn

Spread Operator

elaborated post

const a1 = ['a', 'b'];
const a2 = ['c', 'd', 'e'];

instead of

a1.concat(a2); // ['a', 'b', 'c', 'd', 'e']

use spread

[...a1, ...a2]; // ['a', 'b', 'c', 'd', 'e']

Destructure

elaborated post

Arrow Function

without

const arr = [1, 2, 3].map(function(curNum) {
	return 2 * curNum;
});
// [2, 4, 6]

with

const arr = [1, 2, 3].map(curNum => 2 * curNum);
// [2, 4, 6]

arrow function and destructure

const nisim = {fname: 'nisim', lname: 'cohen'}
const shlomo = {fname: 'shlomo', lname: 'levi'}
const david = {fname: 'david', lname: 'peretz'}

const arr = [nisim, shlomo, david];

const fullArr.map(function(obj) {
	return `${obj.fname} ${obj.lname}`;
});

with arrow function

const nisim = {fname: 'nisim', lname: 'cohen'}
const shlomo = {fname: 'shlomo', lname: 'levi'}
const david = {fname: 'david', lname: 'peretz'}

const arr = [nisim, shlomo, david];

const fullArr.map(obj => `${obj.fname} ${obj.lname}`);

with destructure

const nisim = {fname: 'nisim', lname: 'cohen'}
const shlomo = {fname: 'shlomo', lname: 'levi'}
const david = {fname: 'david', lname: 'peretz'}

const arr = [nisim, shlomo, david];

const fullArr = arr.map(({ fname, lname }) =>
	`${fname} ${lname}`);

Property Shorthand

const david = 42;
const shlomo = 666;
const nisim = {
	david: david,
	shlomo: shlomo
}
const nisim = {
	david,
	shlomo
}

Method Shorthand

const nisim = {
	shlomo: 42,
	sayHi: function() {
		console.log('hi');
	},
	sayBye: function() {
		console.log('bye');
	}
};

nisim.sayHi();
nisim.sayBye();
const nisim = {
	shlomo: 42,
	sayHi() {
		console.log('hi');
	},
	sayBye() {
		console.log('bye');
	}
};

nisim.sayHi();
nisim.sayBye();