return/break/continue
8361 ワード
🔽 return
繰り返し文を終了し、値を返して関数自体を終了することもできます.
関数が使用されていない場合は、エラーが発生します.
♥関数はreturnを使用しなくても常に値を返します(デフォルトはundefined)
const number = () => {
for (let i = 0; i < 10; i++ ) {
if(i===5) {
return i;
}
console.log(i)
}
}
console.log('종료')
number()
// 0 , 1 , 2 , 3 , 4 , 종료
🔽 break
文を繰り返す必要がない場合は、不要な繰り返しを避けるのに役立ちます.
ラベル文(識別子付き文)、繰返し文(for、for...in、for...of、while、do...while)、switch文のコードブロックジャンプ
=>break文を使用している場合、SyntaxError(構文エラー)が発生します.
if(true) {
break; //SyntaxError
}
ラベルドア?
重複するfor文の外部からポップアップする場合に便利です(Xを推奨)
foo: {
console.log(1);
break foo; //foo 레이블 블록문을 탈출.
console.log(2);
}
outer : for (lse i = 0; i < 3; i++) {
for (let i = 0; i < 3; i++) {
if (i + j === 3) break outer;
}
}
例)文字列内の最初の文字を含むインデックスの検索const string = 'Hello World'
let index;
for(let i = 0; i < string.length; i++) {
if(string[i] === 'l') {
index = i;
break;
}
}
// 2
🔽 continue
いくつかの条件が満たされた場合、コマンドをスキップして次の条件にジャンプします.
繰り返し文のコードブロック実行を現在位置で停止し、繰り返し文の増分で実行フローを移動
例)カウント文字列の文字数
const string = 'Hello World'
let index;
for(let i = 0; i < string.length; i++) {
if(string[i] !== 'l') continue;
count++ //만약 문자열에 l이 없으면 이 줄이 실행되지 않고 i++로 진행
}
}
// 3
continue文を使わなくてもいいですが、
実行可能なコードが多数使用されている場合、ifゲート外で使用されるコードは読み取り可能である
```jsx
for (let i = 0; i < string.length; i++) {
if(string[i] === search) {
count++;
//코드
//코드
//코드
}
}
```
```jsx
🌟
for (let i = 0; i < string.length; i++) {
if(string[i] !== search) continue;
count++;
//코드
//코드
//코드
}
```
공부하며 정리&기록하는 ._. 씅로그
Reference
この問題について(return/break/continue), 我々は、より多くの情報をここで見つけました https://velog.io/@sseung-i/return-break-continueテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol