1021 TIL



「夢は逃げない、逃げるのはいつも自分だ」
参考:モダンJavaScript入門

eval関数


eval関数は、1つの文字列のみを引数として受け入れ、JavaScriptコードとして解釈します.
例を見てみましょう.
let x = 1;
eval("x++;");
このコードは次のとおりです.
let x = 1;
x++;
次のように、関数宣言を文字列に渡すことで、関数を定義することもできます.
let formula = "x*x";
eval("function f(x) {return "+formula+";}");
前のコードは次のとおりです.
function f(x) { return x*x };
ただし、eval関数を乱用することはできません.悪意のある入力文字列を引数としてeval関数に渡すと、悪意のあるコードが実行され、セキュリティ上の問題が発生する可能性があります.
そのため、他の代替案があれば、より速く、より安全に使用できます.

String関数の使用方法


String作成者の前に新しい演算子を追加すると、Stringオブジェクトを作成関数として使用できますが、新しい演算子を追加しないと、通常の関数として使用できます.String関数の戻り値はStringオブジェクトではなく文字列です.

イベントプロセッサ


イベントが発生する前に待機し、イベントが発生したときに予め登録された操作を実行するプログラム.
イベントプロセッサは、イベント発生時に実行される関数です.

タイマ

setTimeout:指定された時間後に関数を実行します.setInterval:関数を一定の時間間隔で繰り返し実行します.

if/else文


場合「そうでなければ…」処理の流れを表します.つまり、条件が満たされているかどうかに応じて、処理するタスクを選択できます.
二つの種類に分けることができます.
(1) if (조건식) 문장
(2) if (조건식 문장 1 else { 문장2 }
条件式がtrueの場合if文を実行し、falseの場合else文を実行します.
if文もif文でif文を作成できる文です.중첩 if문です
if (a > b) {
    if (a > c) {
        console.log("a가 가장 크다");
    }else {
        console.log("a는 b 이하");
    }
}
if/else文を使用する場合は、誤った解釈が発生しないように注意してください.1つの文のみが実行される場合でも、ブロック文になるようにカッコ{}で囲むことを推奨します.
if (조건식 1) {
    문장 1
} else if (조건식 2) {
    문장 2
} else if (조건식 3) {
    문장 3
...
} else {
    문장 n
}
常用パターン.ifでない場合はelse ifがこれらのドアを巡り、そうでない場合はelse文を最後に実行します.

スイッチドア


if/else文を使用して、式の値分岐に基づいて実行します.if/else文では、複数のブレークポイントを作成できますが、コードが複雑になる可能性があります.逆に、スイッチ文を使用すると、複数のブレークポイントをより簡潔に表すことができます.
switch (표현식) {
    case 표현식1 : 실행문1 (문장 여러 개)
    case 표현식2 : 실행문2 (문장 여러 개)
    ...
    case 표현식n : 실행문n (문장 여러 개)
    default : 실행문 n + 1 (문장 여러 개)
}
次の例を見てみましょう.
switch(n) {
    case 1:
        console.log("One");
        break;
    case 2:
        console.log("Two");
        break;
    case 3:
        console.log("Three");
        break;
    default:
        console.log("Other");
}
このコードを実行すると、nが1の場合は「One」、2の場合は「Two」、3の場合は「Three」、さらに「Other」が出力されます.
break文を実行すると、ブロック文から終了し、次の操作を開始します.switch文のcaseラベルは、ブランチの開始を示すが、ブランチの終了は示さない.bresk文が1つも使用されていない場合は、caseラベルに分岐し、ラベルの後ろにある完全な文を実行します.したがって、通常、caseラベルの直後の実行文の末尾にダッシュを付けます.
関数の最後にswitch文を使用する場合は、break文ではなく戻り文を使用して同じ複数のブランチを表すことができます.
defaultラベルの実行文は、switch文の式がcaseラベルの値と一致しない場合に実行される最後の文です.defaultラベルは、switchブロックのどこにいても構文エラーは発生しません.switchブロックの真ん中にある場合は、プログラムを理解するのが難しいので、使用しないほうがいいです.