조건문 반복문

?·2023년 2월 15일

if(condition) {
//code
}
소괄호 안에, 표현식 값을 참/거짓으로 형변환된다.

"",0,undefined,null,false, NaN 값을 제외하고는 참으로 판명된다.

if(10<20) {
consoloe.log('10은 20보다 작습니다.') ;
}
참 => '10은 20보다 작습니다.'가 출력이 된다. 거짓이면 출력이 되지 않는다.

switch문

const grade =7;

switch(grade) {
    case 1:
        console.log('브론즈');
        break;
    case 2:
        console.log('실버');
        break;
    case 3: 
        console.log('골드');
        break;        
    default:
        console.log('아이언');   
}
const grade =1;

switch(grade) {
    case 1:
        console.log('브론즈');
        
    case 2:
        console.log('실버');
        break;
    case 3: 
        console.log('골드');
        break;        
    default:
        console.log('아이언');   
} =>브론즈, 실버가 나오게 된다. break가 존재하지 않으면 break를 만날 때까지 결과값이 나오게 된다.
// 학생의 점수를 입력 받는 부분은 일단  변수의 값을 변경하는 것으로 합니다.
const studentScore = 70;  // 학생의 점수
let studentGrade;  //학점

// [▼] 여기에 코드를 작성해주세요
switch (studentScore) {
  case 100:    
  case 90:    
    studentGrade = 'A';
    break;
  case 80:        
  case 70:    
    studentGrade = 'B';
    break;
  case 60:    
  case 50:    
    studentGrade = 'C';
    break;
  case 40:    
  case 30:
    studentGrade = 'D'     
    break;
  default:
    studentGrade = 'F'
    break;
}

//데이터 출력
console.log(`학생의 최종 학점은 ${studentGrade} 학점입니다.`);

반복문

while(codition) {
	//code
}
let num = 1;
while(num<10) {
    console.log(num);
    num++
} => 1,2,3,4,5,6,7,8,9

do while

do {
	//code 
}while(codition)

while에 condition이 참이면, do에 걸린 중괄호가 실행이 된다.
while 키워드의 조건식의 참 거짓 유무와 상관없이 무조건 한번은 do 키워드 다음 중괄호가 실행함

let num =1;
do {
    console.log(num);
    num++;
}while(false); =>1이 출력됨 

만약 while(true)라고 하면, 계속해서 작동하게 된다.

for

for(초기식;조건식;증감문) {
//code
}
초기식 해석 => 조건식이 참이면 => 중괄호가 실행=> 증감문(증가or 감소)=> 조건식 비교 참=> code
조건식이 거짓이면 끝난다. 
for (let i=0;i<5;i++) {
    console.log(`ì는 ${i}`) 
} 0,1,2,3,4가 출력이 된다. 

for(변수(데이터를 반복하여 값이 할당 될 변수. 인덱스, 객체는 key) in 데이터(배열or객체)) {
}
_텍스트_for(변수 of 데이터(배열)) {
}배열 데이터만 반복할 수 있다.배열의 데이터 값에 직접적으로 접근한다.

const arr=[10,20,30];
const obj = {
  name:'철수',
  age:20
}

for(let index in arr) {
  console.log(index)
} => 0,1,2가  출력이  된다. 

const arr=[10,20,30];
const obj = {
  name:'철수',
  age:20
}

for(let index in arr) {
  console.log(arr[index])
} => 10,20,30이 출력 된다.


const arr=[10,20,30];
const obj = {
  name:'철수',
  age:20
}

for(let key in obj) {
  console.log(key)
} => key값이 출력이 된다.:name, age

const arr=[10,20,30];
const obj = {
  name:'철수',
  age:20
}

for(let key in obj) {
  console.log(obj.key)
} => undefined


const arr=[10,20,30];
const obj = {
  name:'철수',
  age:20
}

for(let key in obj) {
  console.log(obj[key])
} => 철수, 20 

const arr=[10,20,30];
const obj = {
  name:'철수',
  age:20
}

for(let value of arr) {
  console.log(value)
} =>10,20,30

for in문에서, 마침표 연산은 불가능하다. "name","age"형태로 읽히기 때문에..

for in문은 배열, 객체를 다 받을 수 있지만,
for of문 배열 데이터만 받아서 사용할 수 있다.

다중 반복문

for(i=0;i<2;i++) {
  console.log(`ì는 ${i}`);
  for(j=0;j<2;j++) {
    console.log(`j는 ${j}`);
  }
}

ì는 0
j는 0
j는 1
ì는 1
j는 0
j는 1

break, continue

break:반복문을 즉시 종결하고 싶을 때,
continue: 반복문의 코드 실행을 건너 뛰다.

for(let i=0;i<5;i++) {
  if(i===2) break;
  console.log(i)
} => 0,1만 출력이 된다.

for(let i=0;i<5;i++) {
  if(i===2) continue;
  console.log(i)
}=>0,1,3,4

for(let i=0;i<5;i++) {
if(i===2 || i===4) continue;
console.log(i)
}=> 0,1,3

profile
살려줘

0개의 댓글