break, continue, return 차이
가장 가까이에 있는 하나의 반복문을 벗어나기 위해 사용합니다.
(break문이 실행되면 Loop가 전부 끝나지 않았음에도 해당 반복문을 즉시 탈출)
break문과 다르게 반복문을 완전히 빠져나가지 않고 반복문 내의 작업문을 건너뛸 때 사용. 다시 말해, '현재 진행 중인 Loop'를 즉시 중단하고 다음 Loop를 진행하라는 구문.
continue; 자체가 하나의 문장이며, 실행되면 "반복 후 작업" 단계로 간다. 예) for문
1) 쓰여진 해당 함수에서의 탈출을 의미합니다. (break문은 반복문의 탈출이다!! 헷갈리기 ㄴㄴ!!)
→ 예를 들어, return문 실행 시 '반복문을 포함하는 메서드' 자체를 종료시킴.
2) 메서드 내에서 return이 실행되면 뒷 줄에 코드가 더 있다고 하더라도 값 반환 후 종료.
3) 메서드의 출력값은 return명령어로만 가능.
4) 메서드의 리턴자료형이 void인 경우에는 return문이 필요없다.
5) return; 문(반환 값 명시안하고 바로 세미콜론(;) 옴) 만을 써서 메소드를 빠져나가는 방법은 리턴 자료형이 void형인 메서드에만 해당된다. 당연한 이야기지만, 리턴 자료형이 명시되어 있는 메서드에서 return; 문만을 작성하면 컴파일 오류 발생.
자바스크립트 promise
Promise 객체는 비동기 작업이 맞이할 미래의 완료 또는 실패와 그 결과 값을 나타냅니다.
Promise는 다음 중 하나의 상태를 가집니다.
대기(pending): 이행하지도, 거부하지도 않은 초기 상태.
이행(fulfilled): 연산이 성공적으로 완료됨.
거부(rejected): 연산이 실패함.
async와 await
async가 붙은 함수는 반드시 프라미스를 반환하고, 프라미스가 아닌 것은 프라미스로 감싸 반환합니다. 굉장히 간단하죠? 그런데 async가 제공하는 기능은 이뿐만이 아닙니다. 또 다른 키워드 await는 async 함수 안에서만 동작합니다. await는 아주 멋진 녀석이죠.
자바스크립트는 await 키워드를 만나면 프라미스가 처리될 때까지 기다립니다(await는 '기다리다’라는 뜻을 가진 영단어입니다 – 옮긴이). 결과는 그 이후 반환됩니다.