Привет всем, сегодня я предлагаю вам несколько советов по ES6, которые могут сделать вашу разработку на Javascript более чистой и продуктивной. Так что, если вы все еще изучаете ES6, этот пост для вас!
Я пытаюсь быть прямолинейным, поэтому сделайте небольшую подборку наиболее частых функций ES6, которые я использую во время написания кода.
Литералы шаблонов
Объединить строку с оператором плюс? Никогда больше!!!
const firstName = "Dellean" const lastName = "Santos" //BAD const fullName = firstName + " " + lastName //AWESOME const fullName = `${firstName} ${lastName}`
Мультилинии
//BAD const animals = cat\n' + 'dog\n' + 'frog' //AWESOME cons animals = `cat dog frog`
Литералы шаблонов сохранят новые строки, а также могут оценивать выражения.
//BAD const todayText = "now in timestamp is " + Date.now() //AWESOME const todayText = `now in timestamp is ${Date.now()}`
Разрушение массивов
//BAD const numArray = [0, 1] const zero = numArray[0] const one = numArray[1] //AWESOME const [zero, one] = [0, 1]
Разрушение объектов
const author = { name: "Dellean", age: 28 } //BAD const name = author.name const age = author.age //AWESOME const { name, age } = author //Destructuring inside functions //BAD function myName(author){ return author.name } //AWESOME function myName({ name }){ return name }
Определение объектов
Если имя переменной совпадает с атрибутом объекта, вы можете опустить двоеточие и значение.
const name = "Dellean" const age = 28 //BAD const author = { name: name, age: age } //AWESOME const author = { name, age }
ЛитералыФункции F =› F+1
//BAD callback(function(a){ return a+1 }) //AWESOME callback( a => a+1 ) //BAD callback(function(a,b){ doSomething(a) doSomethingElse(b) }) //AWESOME callback((a,b)=>{ doSomething(a) doSomethingElse(b) })
Примечание. Стрелочные функции, лексическое значение this
не скрыто, подробнее об этом читайте здесь.
Параметры по умолчанию (по умолчанию = true)
//BAD function myFuncion(firstParam, secondParam){ const x = firstParam || 'xDefaultValue' const y = secondParam|| 'yDefaultValue' ... } //AWESOME function myFunction(x = 'xDefaultValue', y = 'yDefaultValue'){ ... }
Классы { }
//BAD function Author(name, age){ this.name = name this.age = age } const dellean = new Author('Dellean', 28) //AWESOME class Author { constructor({ name, age }){ this.name = name this.age = age } } cons dellean = new Author({ name: 'Dellean', age: 28 })
Оператор распространения …
Для меня оператор Spread — это самая крутая функция в javascript, которая в большинстве случаев может значительно ускорить вашу разработку, поэтому для вас очень важно все, что может делать оператор.
Массивы
let myArray = [3,4] let myNumberArray = [1,2, ...myArray,5,6] console.log( myNumberArray ) //output [1,2,3,4,5,6]
Объекты сливаются
const author = { name: "Dellean", age: 28 } const merged = { from: "Brazil", ...author } console.log( merged ) //output { name: "Dellean", age: 28, from: "Brazil" }
Выдающиеся параметры/аттр.
function something({ name, age, ...rest }){ console.log(`name: ${name}`) console.log(`age: ${age}`) console.log('rest', rest) } something({ name: "Dellean" age: 28, from: "Brazil", dev: true }) //name: Dellean //Age: 28 //rest { from: "Brazil", dev: true }
Динамическое свойство
let age = 'age' let myObg = { [age] : 28 } //myObg { age: 28 } let otherObj = { [`${age}Test`]: 28 } //otherObj {ageTest: 28}
Надеюсь, вам понравились эти советы, поэтому, если они вам помогут, оставьте свой зажим, а в противном случае оставьте свой комментарий!
Пока!!!