Эта статья включает в себя некоторые приемы и сокращения для 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() }
Спасибо за чтение! Хлопайте, если вы считаете, что эта статья была полезной, или оставьте свой комментарий ниже, если у вас есть какие-либо вопросы.