window.addEventListenerのブロックを抜けるという意味
イベントを登録したときの関数ブロックとif文内のブロックがうまく区別できていない気がします。
下記のコードはブラウザのウィンドウに対してクリックイベントを登録するだけのコードで、ブラウザのウィンドウのどこかをクリックすれば第二引数内の関数が実行されます。
javascript
1 window.addEventListener('click',() => {
2 //クリック時の処理を記述
3 });
その第二引数に渡した関数の中身は下記のようになっています。
javascript
1 if(isPlaying === true){
2 return;
3 }
4
5 isPlaying = true;
6 console.log('ok');
isPlaying
は外側のスコープにある変数で、初期値はfalse
になっています。
そのため、1度目のクリックではif文の条件にあるisPlaying === true
は偽と評価されます。
しかし、if文の後にisPlaying
をtrue
にする処理が記述されているため、この行が実行された後、外側のスコープにある変数isPlaying
はtrue
になります。
2度目のクリックではif文の条件にあるisPlaying === true
は真と評価されます。
真と評価された場合、if文は自身のブロックにある処理を実行します。
このコードではisPlaying === true
だった場合return;
のみを呼ぶようになっています。return
の意味についてはm.ts10806さんの仰る通り、関数の終了を表すものです。
関数とは、function hoge(){}
、function(){}
、()=>{}
等の引数と処理を記述できる構文のことです。
このコードにおける関数とはaddEventListener
メソッドの第二引数に渡した下記コードのことです。
javascript
1() => {
2 if(isPlaying === true){
3 return;
4 }
5
6 isPlaying = true;
7 console.log('ok');
8}
return
が呼ばれた時点で関数の実行は終了しますから、関数内においてreturn
を実行した行以降の処理が呼ばれることはありません。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。