Эта статья включает в себя некоторые приемы и сокращения для javascript, которые используются в вашем повседневном коде. Использование некоторых из этих приемов позволяет сэкономить время на кодирование, а некоторые из них делают ваш код более читабельным.

1. Преобразовать все в логические.

const foo = 'some data'
const toBool = !!foo
console.log(toBool) // true

2. Преобразуйте все в числа.

const foo = '21'
const toNumber = +foo
console.log(toNumber) // 21
const toNegativeNumber = -foo
console.log(toNegativeNumber) // -21

3. Пустой массив

const arr = [1, 2, 3, 4, 5, 6]
arr.length = 0
console.log(arr) // [] 
// bonus for array truncate
arr.length = 3
console.log(arr) // [1, 2, 3]

4. Преобразовать массив в объект

const arr = [ 'foo', 'bar', 1]
const obj = { ...arr }
console.log(obj) // {0: "foo", 1: "bar", 2: 1}

5. Копировать массив / объект по значению

// Array
const arr = [ 'foo', 'bar', 1]
//solution
const copyArr = [...arr]
// or
const copyArr = arr.slice()
arr.push('baz')
console.log(arr) // ['foo', 'bar', 1, 'baz']
console.log(copyArr) // ['foo', 'bar', 1]
// Object
const obj = { 'a': 1, 'b': 2, 'c': 3 }
//solution
const copyObj = {...obj}
//or
const copyObj = Object.assign({}, obj)
obj.d = 4
console.log(obj) // {a: 1, b: 2, c: 3, d: 4}
console.log(copyObj) // {a: 1, b: 2, c: 3}

6. Объединить массив / объект

// Array
const arr1 = ['a', 'b', 'c']
const arr2 = ['d', 'e', 'f']
const margeArr = [...arr1, ...arr2]
console.log(margeArr) // ["a", "b", "c", "d", "e", "f"]
// Object
const obj1 = { 1: 'a', 2: 'b', 3: 'c'}
const obj2 = { 3: 'd', 4: 'e', 5: 'f'}
const mergeObj = {...obj1, ...obj2}
console.log(mergeObj) // {1: "a", 2: "b", 3: "d", 4: "e", 5: "f"}

7. Короткое замыкание и значение по умолчанию

const condition = true
const res = condition && doSomething()
// if condition is true, then call doSomething function
const res = condition || doSomething()
// if condition is false, then call doSomething function
const doSomething = input => (input || 18)
console.log(doSomething(15)) // return 15
console.log(doSomething()) // return 18 as a default value

8. Удалить повторяющийся элемент в массиве

const arr = ['a', 'b', 'c', 'b', 'd']
const newArr = [... new Set(arr)]
console.log(newArr) // ["a", "b", "c", "d"]

9. Используйте объединение массива вместо удаления для удаления элемента массива

// delete array index
const arr1 = [1, 2, 3, 4, 5]
delete arr1[2]
console.log(arr1.length) // 5
console.log(arr1) // [1, 2, empty, 4, 5]
// array splice
const arr2 = [1, 2, 3, 4, 5]
arr2.splice(2, 1)
console.log(arr2.length // 4
console.log(arr2) // [1, 2, 4, 5]

10. Проверка нескольких условий

// if input is 'string', 72, or 'hello', call doSomething function
if (input === 'string' || input === 72 || input === 'hello') {
  doSomething()
}
// Shorthand
if (['string', 72, 'hello'].indexOf(input) !== -1) {
  doSomething()
}

Спасибо за чтение! Хлопайте, если вы считаете, что эта статья была полезной, или оставьте свой комментарий ниже, если у вас есть какие-либо вопросы.