깔끔한 자바스크립트 팁 5가지

이 게시물에서는 더 나은 개발자가 되는 데 도움이 되는 5가지 깔끔한 JavaScript 팁을 보여 드리겠습니다. 이 게시물은 JavaScript에 대한 약간의 지식이 필요하지만 모든 사람이 이 게시물을 읽을 것을 권장합니다.

깔끔한 팁 목록:
  • Destructuring
  • Console tips
  • Dynamic key names
  • Set as a data structure
  • Callback-based APIs -> Promises



  • 구조화

    What a better way to explain something than through an example. Let's imagine we have an object with some tiger data and we need a function that will tell if the tiger is endangered.

    const tiger = {
      specific: 'Bengal',
      latin: 'Panthera tigris tigris',
      endangered: true,
      weight: 325,
      diet: 'fox',
      legs: 4
    }
    
    // Bad code 💩
    function isEndangered(tiger){
      if (tiger.endangered) {
        return `${tiger.specific} tiger (${tiger.latin}) is endangered!`
      } else {
        return `${tiger.specific} tiger (${tiger.latin}) is not 
          endangered.`
      }  
    }
    
    // Good code 👍
    function isEndangered({endangered, specific, latin}){
      if (endangered) {
        return `${specific} tiger (${latin}) is endangered!`;
      } else {
        return `${specific} tiger (${latin}) is not 
          endangered.`;
      }  
    }
    // or 
    function isEndangered(tiger) {
      const {endangered, specific, latin} = tiger;
      // the rest is the same
    

    콘솔 팁

    코드 실행 시간 ⏲️


    console.timeconsole.timeEnd를 사용하여 코드가 얼마나 빠른지(또는 느린지) 확인하십시오.

    다음은 예입니다.

    console.time('TEST')
    
    //some random code to be tested
    
    console.timeEnd('TEST')
    


    스타일로 로깅 😎



    사용자 정의 출력을 가지려면 아래와 같이 %c를 추가한 다음 실제 CSS를 두 번째 인수로 사용합니다.

    console.log('%c AWESOME', 'color: indigo; font-size:100px')
    


    테이블



    객체 배열console.table을 기록할 때 유용합니다.

    // x,y,z are objects
    console.table([x, y, z])
    


    스택 추적 로그



    함수가 호출되는 위치의 스택 추적을 얻으려면 다음을 사용할 수 있습니다console.trace.

    function foo(){
      function bar(){
        console.trace('test')
      }
      bar();
    }
    
    foo();
    



    동적 키 이름

    A super useful tip!

    const key = 'dynamic'
    
    const obj = {
      dynamic: 'hey',
      [key]: 'howdy'
    }
    
    obj.dynamic // hey
    obj[key] // howdy
    obj['dynamic'] //hey
    obj.key // howdy
    
    To see the most often use case of the dynamic-keys concept, check out my previous post.


    데이터 구조로 설정

    If I'd ask you to remove the duplicates from an array of numbers. How would you do it?

    Use Set as a data structure to improve the functionality and performance of your app. Here's an example where I'll remove duplicates from an array of numbers using Set object.

    const arr = [1, 2, 2, 3]
    const newArr = new Set(arr)
    const unique = [...newArr]
    
    // unique - [1, 2, 3]
    

    콜백 기반 API -> 약속

    To make things cleaner and more efficient you can transform the callback (ourCallbackFn) into a promise being a function.

    // we start with this 
    async function foo() {
      const x = await something1()
      const y = await something2()
    
      ourCallbackFn(){
        // ...
      }
    }
    
    // the transformation
    async function foo() {
      const x = await something1()
      const y = await something2()
    
      await promiseCallbackFn() //👀
    }
    
    function promiseCallbackFn() {
      return new Promise((resolve, reject) => {
        ourCallbackFn((err, data) => { //👀
          if (err) {
            reject(err)
          } else {
            resolve(data)
          }
        })
      })
    }
    

    This was a list of 5 JavaScript tips. Pretty neat, right?
    I hope you find my first post useful! Any feedback is greatly appreciated!

    Thank You!

    Dalibor

    좋은 웹페이지 즐겨찾기