Group Interview) JavaScript


Q1. JavaScript


JavaScriptとは何か説明してください.
JAvascriptは、静的HTMLとCSSで生成されたWebページを動的に変更できる「Webページに生動感を加える」プログラミング言語です.
  • イベント:ユーザーによってトリガーされる(クリック、ドラッグ、スクロール、キーボードタッチ...)
  • 関数:イベント発生時に発生する事象を事前定義するコードセット
  • Q2. let, var, const

    letvarconstを使用して生成された変数の違いは何ですか?
  • var:値を再宣言および再割り当てできます.
  • 最新バージョンでは使用されません.→制御が難しく、運転が直感的ではない.(直感的ではないのは、関数スキャンがあるからです!)
  • let:値を再宣言せずに再割り当てのみ可能です.
  • const:値の再宣言と再割り当ては不可能です.したがって、定数(不変値)に使用できます.また、constは宣言と同時に割り当てなければなりません.
  • varlet/constの最大の違い:Scopeが異なります.
  • var:関数スキャン
  • let,const:ブロックスキャン
  • Q3. JavaScriptデータ型


    JavaScriptのデータ型をリストしてください.
  • ベーシック:number,string,boolean,null,undefined
  • 参考:array、object、function
  • Q4. 関数の定義、呼び出し#カンスウノテイギ#


    関数の定義と呼び出しをそれぞれ説明してください.
  • 定義(=宣言):プリセット開発者が使用するコードブロックを基準として
  • // 함수의 이름부터 함수에 들어갈 매개변수(괄호 속), 함수를 실행했을 때 수행할 구체적인 내용(중괄호 속)까지 정의(Definition)하는 것
    
    function sayHello() {    //함수의 정의 혹은 선언
      console.log("안녕하세요! 만나서 반갑습니다!");
    }
  • 呼び出し(=実行):事前にスケジュールされたコードを実行
  • // 함수가 동작하게 하려고 미리 정의해둔 내용을 함수의 이름으로 호출(Call)하는 것
    
    sayHello();     // 함수의 호출 혹은 실행

    Q5. Math methods


    Mathに関する関数(メソッド)を説明してください.
  • Math.min().max():パラメータとして渡される値の最小/最大数を返します.
    パラメータが渡されない場合は、Infinity/-Infinityが返されます. 比較できない値が含まれている場合は、NaNを返します.
  • Math.random( ):0以上1未満の乱数を返します.
  • Math.round( ):引数として渡された値を小数点の最初の位置から四捨五入し、結果値を返します.
  • Math.floor( ):パラメータとして渡された値と同じまたは小さい数の中で最大の整数を返します.
  • Math.ceil():パラメータとして渡された値と同じまたは大きい数の中で最小の整数を返します.
  • Q6. 等しい演算子

    =====の違いを説明してください.
  • ==:厳密な比較ではありません.データ比較オブジェクトを数値比較オブジェクトに変換し、比較(比較のみ)[ピア演算子]
  • ===:データ変換なしで比較値(比較値とタイプ)[一致演算子]
  • Q7. 条件文


    条件文が必要なのはなぜですか?
    様々な状況で実行されるコンテンツを設定し、それに応じて任意の操作を実行します.

    Q8. 関数のパラメータ


    なぜ関数のパラメータが必要ですか?
    関数の名前の後ろにはinputという空間があります.関数を宣言するとき、この空間に入れる値をパラメータ(パラメータ)と呼び、関数を呼び出すときに入れる値をパラメータ(パラメータ)と呼びます.
    function sayGoodbye(name) {          // 여기서 name은 parameter
      return "Goodbye, " + name + "!";
    }
    
    sayGoodbye("my friend");     // "Goodbye, my friend!"
    sayGoodbye("my teacher");    // "Goodbye, my teacher!"
                                 // 여기서 "my friend"와 "my teacher"는 argument
    パラメータが必要なのは、関数に異なるパラメータデータを指定すると、返される結果値も異なるためです.

    Q9. 整列


    並ぶ理由は何ですか?
    関連データを効率的に管理するために、関連データを1つの場所に格納します.配列は、各データ要素にゼロから順序へのインデックスを提供し、必要なデータの検索と使用を容易にします.

    Q10. アレイ要素へのアクセス


    配列内の要素にアクセスする方法を説明してください.
    配列内の要素にアクセスするには、変数名の後にカッコとインデックスを使用して各要素にアクセスします.この場合、インデックスはゼロから始まることに注意してください.
    let arr = [12, 25, christmas];
    
    console.log(arr[0])  // 12
    console.log(arr[1])  // 25
    console.log(arr[2])  // christmas

    Q11. 配列方法


    並べ方を説明してください.
  • concat:複数の配列を結合
  • join:配列内の要素を結合しstringに変換する
  • push,pop:アレイの最後の要素を追加/削除する場合
  • unshift,shift:アレイの一番前に新しい要素を追加/削除します.
  • forEach:アレイ内の各要素に対してコールバック関数定義の演算を行う場合
  • splice:アレイ内の要素の一部を抽出する場合
  • slice:ある配列の開始から終了(終了を含まない)までの浅いコピーを新しい配列オブジェクトに返します.元の配列は変更されません.
  • Q12. map VS forEach

    mapforEachの違いを説明してください.
  • 共通点:配列内の各要素のコールバック関数をループします.
  • 差異
  • forEach:単純重複のみを実行
  • map:変更後、配列内の要素を全体的に置換するために新しい配列を再配置します.
  • Q13. オブジェクト


    なぜオブジェクトが必要ですか?
    配列内の要素はインデックスのみで区切られ、オブジェクトのプロパティはプロパティを表すキーとその値で構成されているため、データをより直感的に格納およびロードできます.

    Q14. オブジェクトへのアクセス


    オブジェクトの値にアクセスする方法を説明してください.
  • dot notation:オブジェクトの識別子の後に.を配置し、鍵を入力します.
  • bracket notation:オブジェクトの識別子に[ ]を付けて鍵を入力します.
  • 識別子の名前を変数に格納して使用できます.
  • スペース付き識別子を使用可能
  • Q15. オブジェクトのアクセス方法の違い


    オブジェクト値にアクセスする方法の違いを2つ説明してください.
  • Dot Notation:アクセス不可能で存在しない鍵にアクセスするために新しい変数が割り当てられた場合の未定義の戻り
  • Bracket Notation:新しい変数に割り当てられてアクセス可能
  • スペースを含むキー、数値キーは括弧記号を使用する必要があります.これにより、エラーは発生しません.
  • Q16. オブジェクト値の追加、変更または削除


    オブジェクトの値を追加、変更、または削除する方法を説明します.
    その他のすべての変更削除は、オブジェクト値に優先的にアクセスします.
  • 追加:追加するオブジェクトの値を再宣言することで、そのオブジェクトを割り当てることができます.
  • 変更:既存の値を再割り当てして変更します.
  • 削除:delete演算子を使用
  • Q17. Scope


    Scopeについてのあなたの理解を説明してください.스코프(Scope):変数が存在する可能性のある範囲
  • は、ブロック外宣言のグローバル(グローバル)変数と、ブロック内宣言のローカル(ローカル)変数に分けられる.
  • 領域変数は、関数、ブロックなどを含む.
  • global変数が多すぎるとコードエラーになりやすいので、これらの変数を最大限に局所変数に分けることが望ましい.
  • Q18. ES 6テンプレート汎用


    ES 6テンプレート文字は文字列の作成に大きな柔軟性を提供します.例を挙げてもいいですか.
  • 文字列と変数を結合する場合は+で追加する必要がありますが、${ }で簡単に作成できます.
  • 実行:nエスケープ文字を使用せずにテンプレート文字で表示
  • var person = { name: 'Tyler', age: 28 };
    console.log('Hi, my name is ' + person.name + ' and I am ' + person.age + ' years old!');
    // 'Hi, my name is Tyler and I am 28 years old!'
    
    const person = { name: 'Tyler', age: 28 };
    console.log(`Hi, my name is ${person.name} and I am ${person.age} years old!`);
    // 'Hi, my name is Tyler and I am 28 years old!'