02:JavaScriptのデフォルト(2)


Introduction


JavaScriptではオブジェクトに向いてはいけないと思っていましたが、オブジェクトに向いていること自体が例だという言い方から今に至るまで、私の考え方が変わりました.prototypeとモジュールの2つの用語自体は、他の言語や分野で別の名前として使用されるため、より注意が必要です.

新学


1.プロトタイプ

  • 既存のオブジェクトをコピーして新しいオブジェクトを作成する
  • ジェネレータを使用して2つ以上のインスタンスを作成する場合、メソッドは個別に定義されているため、メモリが浪費される可能性があります.
    (コンストラクション関数:new演算子によるオブジェクトの作成時に呼び出される最初の方法)
    (インスタンス:作成者によって作成され、クラスに属するオブジェクト)
  • //프로토타입 만드는 법
    생성자_함수_이름.prototype.메서드_함수_이름 = function(){
        return this.first+this.second;
    }
    //생성자의 기본 형태 : public 이름() {}
    public Name(surname, name) {
        this.surname = surname;
        this.name = name;
    } 
    
    Name.prototype.sum = function(){
        return this.surname + this.name;
        
    var lee = new Name("이", "미자"); //name는 인스턴스
    var ahn = new Name("안", "경");
    ahn.sum = function(){
        return this.surname;
    } //특정한 메소드만 다르게 하고 싶을 때 해당 인스턴스에 추가로 정의

    2.モジュール


    ファイルを個別のプログラム処理の単位とする.importで他のファイルをロードします.scriptのプロパティにtype=「module」と書けばいいです.
    <script type="module"></script>
        import { hi } from './hi.js';
    
        sayhi('John');
    export function sayhi(name) {
        alert('Hi, + ${name}!');
    モジュールの特徴はletとvarが省略する変数を定義しないことであり、他のスクリプトの内容はインポートのみで実行され、複数回の評価を行わずdom作成後に実行が遅延することである.

    3.活動環



    画像ソース:https://zereight.tistory.com/855
    callスタックが空になるたびに、イベントループはタスクキューからコールバック関数を取り出して実行されます.JavaScriptは、call stackが1つしか存在しない単一スレッド言語です.イベントループはブラウザとnodeです.jsに存在し、WEB APIによって渡されたコールバック関数がタスクキューに蓄積されると、イベントループは作業の割り当てを継続します.queueに入るコールバック関数はcallスタックが空のときにtickと呼ばれる1つずつ蓄積される.

    の意味がわかる


    1.関数式プログラミング


    関数式プログラミングは従来、カスタム関数を作成することでコードを整理してきたと思いますが、少し異なる方法であることがわかりました.コードを見て、私はそれが同時性の問題を解決し、非常に良い再利用性を持っていることを理解しました.
    (同時性:2つ以上のセッションが共通リソースを同時に読み取り、書き込みする場合に発生する現象)
    const newNumber = "13579";
    console.log(
    newNumber
    	.split(' ')
    	.map(x => parseInt(x))
    	.reduce((x, y) => x + y, 0);

    2. Set-Cookie

  • サーバーもクッキーをくれると初めて知りました.また、httponlyオプションを使うとサイト間スクリプト攻撃を防ぐことができるので、後でもう一度やってみたいと思います.Max-AGEオプションはExpiresと似ていますが、Max-AGEが存在する場合は無視されます.
  • 3.Trie資料構造

  • 文字列をキーとするセーブセットのツリーの拡張データ構造です.興味深いことに、既知の資料構造の拡張バージョンがあります.
  • 4.スレッド

  • ブラウザでは、イベントループとタスクキューのおかげで、マルチスレッドの動作原理がよくわかりません.類推しないで、動作をよく理解するという教訓を得た.
  • 5. this


    C++で見たのとは違うようなので、改めて見てみました.これは、実行される呼び出しオブジェクトを意味すると言われています.既存のオブジェクトをコピーして使用する場合は、「Object」を選択します.assign()を利用します.
    const newPerson = Object.assign({}, person)
    newPerson.name = 'chris'
    console.log(person.getName()) // john
    console.log(newPerson.getName()) // chris

    6.Unicode


    レンダーエンジンでテキストと値をペイントするのに役立ちます.実際、Webブラウザを使っているときは、Unicode変換に多く触れていますが、原理を初めて理解しました.UTF-8はCESであり、CCSを8ビットセットに対応させる.

    Comment

  • コードをもっと編集したいです.1日1コードを作ります
  • 私はしばらくこれらの文法を自由に使えるかどうか心配しています.たくさん読んで、たくさん書いて、慣れると信じて、勉強を続けなければなりません.
  • コメントリンク


    生活コード:プロトタイプ
    https://opentutorials.org/module/4047/24610
    JavaScriptとイベントループ
    https://meetup.toast.com/posts/89
    アクティブサイクルとは?
    https://zereight.tistory.com/855
    さんそうデータこうぞう
    https://brunch.co.kr/@springboot/75
    https://en.wikipedia.org/wiki/Trie
    これは難しくないです.
    https://blueshw.github.io/2018/03/12/this/