[TIL🔥]Day13(8/19)


Introduction


今日は、昨日作成したTooListでスクリプトタグでロードしたファイルをモジュールに分離し、機能をインポートする形で補完しました.
さらに,各TodoListに対応する機能を実現するために非同期処理を用いることも練習した.
重要なコンセプトPromise、Async、Awaitを再確認する良い機会です.
もう一つ、今日の幸せなエピソードですが、バニラJSを勉強しているからかどうかはわかりませんが、バニラ豆たっぷりのタルトが食べたいです.4日目は外に出なかったので(運動以外)、家の前のカフェに寄って買って食べましたが、おいしかったので気分がよくなりました.本当に単純な私...
以上は私のTMIです...😋

今日新しく学んだもの


1.モジュール(export、import)
2.非同期処理(callback、Promise、async、await)
非動機が集まってアティクロを議論し、今日はモジュールを深く議論しましょう.

⚙️ Module


モジュールは

  • は、通常、1つのクラスまたは複数の特定の目的を有する関数からなるファイル
  • を指す.
    モジュールは
  • 2exportによってエクスポートされ、モジュールはimportによってロードされ得る

    export(エクスポートモジュール)


    変数または関数の前に貼り付け、外部モジュールがその変数または関数にアクセスできるようにします.
    // export 사용 예시
    export const DOMAIN_NAME = "www.daseul.codes";
    export const PORT = "8000";
    
    export const isProduction = () => {
      return false;
    };

    义齿


    モジュールはexport defaultという特殊な構文をサポートします.
    EXport defaultを使用すると、해당 모듈에는 개체가 하나만 있다と明示的に表すことができます.
    // export default 사용 예시
    // 모듈에 sayHello라는 함수 하나만 존재할 경우
    export default function sayHello(){
      alert("Hello!");
    }
    つまり、모듈 당 최대 하나의 export defaultを持つことができる.

    import(インポートモジュール)


    importインジケータを使用してexportにエクスポートされた外部モジュールの機能をインポートできます.
    // import 사용 예시 
    
    // module-name 내에 export default로 내보내진 것을 가져온다
    import defaultExport from "module-name";
    
    // module-name 내에서 export된 모든 것을 모두 가져온다
    // as 이후 이름은 중복되지만 않으면 자유롭게 정하기 가능
    import * as allItems from "module-name";
    
    // module-name 내에서 export된 것 중에 특정 값만 가져온다
    import { loadItem } from "module-name";
    
    // module-name 내에서 export된 것 중에 특정 값만 이름을 바꿔서 가져온다
    import {
      loadItem as loadSomething 
    } from "module-name";
    
    // export default된 것과 개별 export된 것을 한번에 가져올 수 있다
    import defaultFunction, {
      loadItem
    } from "module-name";
    
    // 별도의 모듈 바인딩 없이 불러오기만 한다
    // 불러오는 것만으로 효과가 있는 스크립트의 경우 사용
    import "module-name";
    上記の方法で外部モジュールをインポートできます.
    プロジェクトで直接使用する例を見てみましょう.
    // constants.js에서 DOMAIN_NAME은 dn으로
    // PORT는 p로 가져온다
    import { DOMAIN_NAME as dn, PORT as p } from "./constants.js";
    
    // App.js에서 export default된 App과
    // 개별 export된 printToday를 한 번에 가져온다 
    import App, { printToday } from "./App.js";

    モジュールのメリット

  • は、JSごとに使用されるモジュールを明確にインポートするため、사용되거나 사용되지않는 스크립트를 추적
  • scriptタグをロードする場合、ロード順序は重要ですが、import로 불러오는 경우 순서는 무관하다
  • script srcとは異なり、전역 오염이 일어나지 않는다
  • モジュールを使用する場合は、次の点に注意してください.
    モジュールはローカルファイルでは動作せず、Webサーバ(HTTP、HTTPSプロトコル)でのみ動作する

    Comment


    だんだん、知識が蓄積されて、私のものに整理する時間が足りなくなってきたようです.
    アティクロを整理したものや、もう一度復習したいテーマが山積みになって、だんだん干し柿がいっぱいになってきました🤪
    早くこの干し柿を一日整理して、私の頭を埋めなさい!!