삼항 연산자
(조건식) ? (값1) : (값2)
삼항연산자는 사용부분 통째로 값
경우의 수가 두가지의 값으로 나뉠 때 사용하는 것이 좋다.
제어문
프로그램 내에서 주어진 조건식의 결과에 따라 별도의 명령을 수행하도록 제어하는 문장
위에서 아래로만 흐르던 프로그램의 흐름을 제어하기 위한 문장
조건문(선택 제어문)
if ~ else if ~ else
switch ~ case ~ default
반복문(반복 제어문)
while
for
조건문
조건에 따라 경우의 수를 나눌 때
프로그램의 흐름을 여러갈래로 나눌 때
사용자에게 선택지를 주어줬을 때
특정한 상태를 물어볼 때(입력한게 6글자 이상이니? 체크박스를 체크했니?)
if문
조건식을 검사하며 true일 경우 안에있는 문장을 수행한다.
영역 내부를 수행했다면 밑에 있는 문장은 하지 않고 세트를 탈출한다.
if(조건식1){
조건식1의 연산 결과가 true일 때 실행
}
else if(조건식2){
조건식2의 연산 결과가 true일 때 실행
}
...
else{
조건식들의 연산 결과가 모두 false일 때 실행
}
switch문
경우의 수가 변수에 담긴 값의 등가비교로 인해 나뉠 때 사용
변수에 담긴 값에 따라 알맞은 case로 이동하고 문장을 실행한다.
하지만 그 밑에 case가 더 있다면 그 안에있는 문장들도 실행된다.
따라서 각 케이스들을 나누어 주려면 알맞게 break를 사용해야 한다.
switch(변수){
case 값1:
변수에 담긴 값이 값1 이면 수행할 문장
break;
case 값2:
변수에 담긴 값이 값2 이면 수행할 문장
break;
...
default:
변수에 담긴 값이 위의 값들이 아닐 때 수행할 문장
}
기타 제어
break : 속해있는 switch문이나 반복문을 탈출한다.
continue
누적 대입 연산자(복합 대입 연산자, 누적 연산자)
+=, -=, *=, /=
let data = 10;
data = data+5
data += 5; //data에 5만큼 더해서 넣어라!
문자열의 경우 숫자와 달리 피연산자들의 순서에 따라 결과가 달라짐
뒤에 누적해서 연결할 때에만 사용
let str = "A";
str = str+"B"; //"AB"
-> str += "B";
str = "B"+str; //"BA"
-> 누적대입연산자로 축약 불가능
증감 연산자
++, --
data += 1 >> data++
data -= 1 >> data--
전위형(사용하기 전에 증감)
let data = 10;
console.log(++data); //11
console.log(data); //11
후위형(사용하고 나서 증감)
let data = 10;
console.log(data++); //10
console.log(data); //11
반복문
특정한 코드나 행위를 반복해야 할 때 사용하는 문장
조건에 의한 반복문
while
횟수에 의한 반복문
for
while문
조건에 의한 반복문
while(조건식){
조건식의 연산결과가 true일동안 반복할 문장
}
do ~ while문
while문과 동일하지만 무조건 한번은 실행한다.
do{
조건식의 연산결과가 true일동안 반복할 문장
}while(조건식)
무한반복
while(true){
무한반복할 문장
if(탈출조건식){
...
break;
}
}
while문 뒤의 () 안에는 조건식, 즉 Boolean 타입의 값이 와야한다.
따라서 그 안에 true라는 값을 넣을 수가 있고, 그 값은 상수로 작성했기
때문에 변하지 않는다. 그러므로 그 while문은 무한정으로 반복하게 된다.
안에서 특정한 조건일 때 if문 안의 break를 통한 탈출구 하나 이상을
만들어 주어야 한다.
for문
횟수에 의한 반복문
반복 횟수가 특정된 경우에 사용한다.
무언가 값이 일정하게 변하는 반복이면 99% 확률로 for문이다.
for(초기식;조건식;증감식){
조건식이 참일동안 반복할 문장
}
초기식 : 변수를 하나 선언해준다. 내부에서 그 변수로 변하는 값을 표현할 수 있다.
조건식 : 반복이 수행될 조건식을 설정해준다.
증감식 : 매 반복마다 마지막으로 수행할 문장을 설정해준다.
'Language > JavaScript(web)' 카테고리의 다른 글
| [javascript] 프로토타입, 객체종류, 콜백 함수 (0) | 2023.06.07 |
|---|---|
| [javascript] 변수의 범위, 화살표 함수, 객체 (0) | 2023.06.07 |
| [javascript] 제어문, 배열, 함수 (1) | 2023.06.07 |
| [javascript] 대화상자, 연산자 (0) | 2023.06.07 |
| [javascript] 개념, 출력, 자료형, 형변환 (0) | 2023.06.07 |