JavaScript | Object (TIL 4. KEY POINT)


Object


  • 概念:資料の保存と処理の基本単位を指す.
    let book = {
     title: "자바스크립트",
     author: "엄문주",
     pages: "1000",
     price: "10000"
    }
    

  • 種類
  • 組み込みオブジェクト:JavaScriptで事前に作成されたオブジェクト、たとえばMath、Array、Boolean、Numberを指します.
  • 文書オブジェクトモデル(DOM):オブジェクトによってWeb文書を管理する方法を指す.Document、Imageなどがあります.
  • ブラウザオブジェクトモデル(BOM):Webブラウザの情報をオブジェクトとすることを示す.Navigator、History、Location Screenなど.
  • カスタムオブジェクト:ユーザーが必要とする場合は、直接作成および使用することを推奨します.

  • 用語

  • ≪プロパティ|Properties|ldap≫:オブジェクト値の情報が含まれます.

  • メソッド(Method):オブジェクトがどのように瞳を開くかを宣言する関数です.(ピリオド)または[]を使用します.
    console.log(plan1.name);
    console.log(plan1["name"]);

  • プロトタイプ(Prototype):基本フレームワークとWeb画像を作成するための画像オブジェクトです.この場合、画像オブジェクトはすべてのWeb画像に共通する属性と機能を集合します.すなわち、画像オブジェクトをプロトタイプと呼ぶことができる.

  • ≪インスタンス|Instance|emdw≫:プロトタイプを使用して作成されたオブジェクトを示します.newリザーブ語を使用すると、プロトタイプオブジェクト名と()を記入して使用できます.
    let now = new Date()
     now
     Sun Oct 25 2020 13:42:55 GMT+0900 (대한민국 표준시)
    Math.floor(Math.random() * 100 +1) // Math 객체는 따로 인스턴스를 생성하지 않습니다.

  • 文字記号:プログラミングで資料をマークする方法を指します.次の図に示すように、宣言変数は、値5が文字記号であることを同時に指定します.
    let a = 5;

  • ≪オブジェクト文字記号|Object Character|oem_src≫:オブジェクトを宣言しながら値を指定します.括弧内に「属性名:値」を入力します.複数のプロパティがある場合は、(カンマ)で区切ります.アトリビュートを追加する場合は、オブジェクトに追加します.(ピリオド)+プロパティ(fiedl)に値を入力します.
    let book = {
         title: "자바스크립트",
         author: "엄문주",
         pages: "1000"
         price: "100000"
         info: function() {
            alert(this.title + "책의 분량은" + this.pages + "쪽입니다.");
         }
    };   
    book.field = "History"

  • コンストラクション関数を使用して、上のコードのようにオブジェクトを作成できます.
    function Book(author, pages, price, title) {
        this.author = author;
        this.pages = pages;
        this.price = price;
        this.title = title;
    };
    
    jsBook = new Book("엄문주", 500, 10000, "자바스크립트") //jsBook은 Book의 인스턴스
    jsBook.title
    "자바스크립트"

  • Dateオブジェクト

  • 現在の日付情報:new Date()

  • 特定の日時情報を持つDateオブジェクト
    new Date("2020-10-25") // 특정 날짜를 괄호안에 입력하면 된다.
    new Date("2020-10-25T16:21:00") // 시간 정보는 T를 추가한 후 시간을 입력하면 된다. 

  • 日付/時刻情報を取得する関数
  • getFullYear():年情報を取得し、
  • を4桁で表示
  • getMonth():月情報を取得します.(0-11)0は1月を表します.
  • getDate():日付情報を取得します.
  • getDay():曜日情報を取得します.(0-6)0は日曜日を表します.
  • gettime():時間をミリ秒で表します.ミリ秒は1/1000秒です.
  • getHours()
  • getMinutes()
  • getSeconds()
  • getMilliseconds()

  • 日付/時刻情報を設定する関数
  • setFullYear():年を4桁に設定します.
  • setMonth():月を0から11の数字で表します.
  • setDate():1から31の数字
  • に設定

  • 問題を解く
    質問:これまでの成功配分とは少し違います.
    その間、特定の値を取得して返すと、
    今回は、受信したデータをパラメータに組み合わせ、構造を変えることで返します.
    3つの配列をパラメータとしてgetDataに渡します.
    この3つの配列の組み合わせにより、新しいオブジェクトが作成されます.
    getDataは、3つの配列をパラメータとして受信する関数です.
    SalesArr:日付別販売
    ex) [["20190401", 34], ["20190402", 23], ["20190403", 29]]
    ReviewArr:日付ごとのコメント数
    ex) [["20190328", 3], ["20190401", 0], ["20190403", 1]]
    LikeArr:日付による「いいね」
    ex) [["20190328", 98], ["20190401", 102], ["20190403", 125]]
    上記の例で示したシナリオは単なる例です.
    日付別の売上高には365日の要素が含まれる場合があります.
    なぜ3つの配列をそれぞれ1つのオブジェクトに変換するのですか?
    上記のシナリオの4月1日の売上高、コメント数、賛数を表示するには、次の手順に従います.
    3つの配列の各配列は、文で日付を繰り返しチェックする必要があるため、構造の良いデータとは言えません.
    (日付が365日の場合、3つの配列はそれぞれ365回循環しなければならない)
    したがって、オブジェクトを3つの配列で置き換えて使用します.
    オブジェクトはProperty名で直接アクセスできるからです.
    日付を知るだけで、繰り返しチェックすることなくデータを得ることができます.
    これが、オブジェクトとしてデータ構造を変更する理由です.
    次の要件を満たすオブジェクトを作成して返します.
    objDataには3つの属性があります.
    summaount:総販売量
    sumReview:総評論数
    sumLike:いつも数が好きです
    答え:


  • 問題解決とポスト
    问题を解く时、最初はどうやって始めたらいいか分からなかった.だから、まず変数を設定して、それからゆっくり問題を見ます.最終的には、日付でクエリー数の和を求める必要があります.このとき、for文を使うことを考えました.では、これらの値を増やし続けるべきです.このような考えでコードを書きましたが、ずっとエラーが発生しています.まだ配列の実力に慣れていないので…<=ずっと書いています.ないお金を減らしたい...まさか...長いこと悩んだ.この問題は難しい.でもよく考えてみれば解ける問題.あまりがっかりしないで.
    困難な部分
  • summaunt、sumReview、およびsumLike変数
  • に0を割り当てる
  • for文の変数i<パラメータ.legnth