전문적인 웹 프로그래밍 자바스크립트

12863 단어 JavaScriptidea

개시하다


책 "전문적인 웹 프로그래밍 자바스크립트"의 비망록

Chapter 3


Google Chrome DevTools Tips


기록 지우기

  • 재부팅해도 기록 유지

  • 로그 수준 Filter


  • console.테이블로 보기 쉬운 배열
    const arr = [111,1111,11111,22,33333,444]
    console.table(arr)
    

  • Live Expression 을 ON 으로 설정하고 평가할 형식을 입력한 후 Live에서 수행

  • Chapter 2

  • 그림 문자가 있는 문자열의 길이를 측정하기 어려움
    그림과 문자의 종류에 따라 때로는 순조롭고 때로는 순조롭지 못하다
    정확한 문자 수를 알고 싶으면 프로그램 라이브러리를 찾아서 사용하는 것이 좋다
    const hoge = "絵文字🌵❗🍲"
    console.log(hoge.length) // 8
    console.log(hoge.split('').length) // 8
    console.log(Array.from(hoge).length) // 6
    console.log([...hoge].length) // 6
    
  • Reduce는 중복에서 처리할 수 있기 때문에 편리하다
    const arr = [111,222,333,444]
    const sum = arr.reduce((res, val) => {
      return res + val
    }, 1000000)
    console.log(sum) // 1001110
    
  • ASync function 쓰기를 통해 이 함수는 비동기 함수가 되어 Promise 대상을 은근히 되돌려줍니다
  • async function 내부에서 await를 사용하여 Promise의 처리를 기다리는 동시에 프로그램을 진행할 수 있음
  • Chapter 1

  • NaN은 Not-A-Number의 줄임말로 計算結果를 숫자로 표시할 수 없습니다.
  • 0/0 또는 "aa"*"bb"등으로 발생
  • 변수가 전개될 때 사용하는 ```를 템플릿 소양이라고 한다
  • null은 存在しない or 無効を表す
  • undefined가変数として宣言したけど値を設定しない일 때의 상태
  • 함수의 매개 변수가 정의한 함수는 コールバック関数라고 부른다.
  • ES6에 도입된 ARU 함수는 호출 함수로 잘 사용된다
  • this 정보


    JavaScript는 this의 특수한 행동입니다.
    use strict가 아닌 경우this window다른 한편, 나는 대부분의 경우use strict가 효과적이라고 생각하기 때문에 이런 상황에서의 행위를 파악하는 것이 중요하다
    다음은use strict의 유효성을 전제로 한 말
    함수 중thisundefined라고 한다
    function hoge() {
      console.log(this);
    }
    hoge() // -> undefined
    
    한편, 대상 중의 함수 중의this는 대상의 자신감을 가리킨다
    const hoge = {
      fuga: 'fuga',
      test: function() {
        console.log(this);
      }
    }
    hoge.test(){
      fuga:"fuga",
      test:f test {...}
    }
    
    hoge.test.apply('ここがthisに反映されます !!') // ここがthisに反映されます !!
    hoge.test.call('ここがthisに反映されます !!') // ここがthisに反映されます !!
    
    const bindHoge = hoge.test.bind('bindを使ったよ')
    bindHoge() // bindを使ったよ
    
    여기는this에서 약간 멀어서 자바스크립트関数もオブジェクトの1つ에서 함수 대상이라고 부른다
    함수 대상은 응용,call 방법이 있어 외부에서this를 바꿀 수 있다
    상대를 고려하면 이해하기 쉽다
    call과 apply의 차이는 매개 변수의 정의가 다르고 기능이 같을 뿐이다
    또한bind라는 방법이 있는데,call과 apply의 차이는 현장에서 실행되지 않고,this의 함수를 바꾸는 것으로 되돌아온다

    기간을 나누어 대입하다.


    변수에 값을 입력할 때 매우 편리하기 때문에 기억해야 한다
    ...나머지 부분은 etc처럼 모두 대입할 수 있다残余構文
    // arrayの場合
    const arr = ['aaa', 'bbb', 'ccc']
    const [a, ...etc] = arr
    console.log(etc)
    
    ['bbb', 'ccc']
    
    // objectの場合
    const objs = {
      aaa: 'aaaa',
      bbb: 'bbbb',
      ccc: 'cccc'
    }
    const {aaa, ...etc} = objs
    console.log(etc)
    
    {
    bbb:"bbbb",
    ccc:"cccc"
    }
    

    Chapter 0


    JavaScript와 웹 페이지의 관계

  • 자바스크립트는 엔진에서 실행되는 프로그래밍 언어
  • 자바스크립트에서 웹 페이지를 조작하는 데 사용되는 규칙은 DOM(Docoment Object Model)
  • 이다.
  • JavaScript 엔진이 JS에 기재된 텍스트를 판독하고 DOM을 실행
  • 자바스크립트 엔진은 여러 가지가 있지만 ECMAScript의 규격을 따른다
  • 렌더링 엔진에는 브라우저에 HTML을 표시하는 기능이 있습니다.
  • 자바스크립트 엔진과 마찬가지로 브라우저 간에 사용되는 렌더링 엔진이 다르다
  • 이런 건 아래 그림으로 보면 이해하기 쉬워요.

    출처: 생존 Type Script
  • JavaScript 엔진의 메모리에서 문자열은 UTF-16로 처리됨
  • UTF-8의 사이즈는 작지만 문자마다 크기가 비뚤어져 처리하기 어렵다
  • 좋은 웹페이지 즐겨찾기