JavaScript | 01. スクリプトasyncとdefer


導入する
-node jsにはjavascriptのエンジンがあり、ブラウザなしでjsを実行できます.
-JS使用コンソールAPI
-asyncとdeferスクリプトタグの使用

API : Application Programming Interface


  • Web APIはブラウザが理解できる関数/コマンドである

  • JS公式サイト:MDNサイト/他のサイトも多いですが、MDNの説明がもっとよくて、もっと速く上がっています.
    MDN : Console API
  • async vs defer

  • async-windowのロードイベントの直前に
  • を実行
  • defer-ドキュメントの解析が完了すると、DOMContent Loadedイベントの前にドキュメントを挿入する順序で
  • を実行します.

    DOM(Document Object Model)


    ドキュメントオブジェクトモデルはHTML、XMLドキュメントのプログラミングインターフェースです
    TAP以外の画面はDOM部分です

    <script>位置のメリットとデメリット


  • hederにある
    短所:時間がかかる


  • 位置
    欠点:ページがjs機能を多く含むページである場合、待ち時間が長すぎてパーティションを完了しjsにダウンロードできません.


  • head + async
    短所
    -jsが解析前に機能するためdomを処理する際に危険になる可能性がある
    -解析時に並列ダウンロードされますが、jsの実行を待つ時間が必要です.


  • head + defer
    完璧な欠点はありません!
    最良の選択


  • 複数asnycを使用する場合
    欠点:順序に依存する行動が問題をもたらす可能性がある


  • 複数遅延しても問題ありません!

  • コード#コード#

    // 'use strict' 왜쓸까? 
    // javascript는 flexible하게 개발되었음
    // flexible === dangerous
    // use strict는 ECMAScript 5에 선언되어있음 
    // vanilla js를 사용할 경우에는 'use strict'를 선언해주는게 좋음
    // 미친 유동성 사라짐
    
    'use strict'
    
    console.log('hello world')
    
    //오류: Uncaught ReferenceError: a is not defined
    //'use scrict안쓰면 오류 안뜸'
    a = 1
    
    //밑에가 정상
    // let a = 5
    // console.log(a)

    厳格なモード宣言


  • 「use strict」を使用する場合
    aを定義していないときにエラーを見つける


  • 「use strict」を無効にする
    aを定義しなくてもエラーはつかめない

  • 😋ビデオ