자바스크립트 기초강의 3

Seong Hyeon Kim·2022년 5월 14일
0

* 논리연산자

and  첫번째 false 를 발견하는 즉시 평가를 멈춤 
(스티브는 남자고 한국인이며 군인) = 남자는 맞나 한국인 아니여서 fase

or  첫번째 true 를 발견 즉시 평가를 멈춤  
(스티브는 남자고 한국인 이거나 군인) = true 출력

not  true 와 false 를 반대로 바꺼줌

실제 코딩 작성시

{운전면허가 있고 시력이 좋은 여군} 을 찾아야 한다면

만약 데이터값이
운전면허 : 전체군인 80%
시력 : 전체군인의 60%
여군 : 전체군인의 7%

라고 한다면

-> 여군인데 시력좋고 면허있는 사람을 찾는게 제일 효율적
이미 여군에서 93% 걸르기 때문

|| 		(or)  		a||b    ///a나 b중 트루가 있으면 트루
&& 		(and)		a&&b	///a와 b 둘다 트루면 트루
! 		(not)		!a		/// a가 false 면 트루로 바뀜

예시

const name = "mike";
const age = 30;

if(name === 'mike' && age> 19){
    console.log('통과')
} else {
    console.log('돌아가')
}
			//// 결과값은 통과

* 반복문 loop

  • 동일한 작업을 여러번 반복할때 사용

* for() 가장많이 사용


for(let i = 0; i<10; i++ ){  /// 첫번째 i = 초기값, 두번째 i = 조건 ,세번째 i = 코드실행 후 작업
    //반복할코드
}
	/// 작동되는 구조를 설명하자면  i=0
    							i가 10보다 작으므로
                                코드실행
                                i값 1증가
                                
                                i=1
                                i가 10보다 작으므로
                                코드실행
                                i값 증가
                                반복

예시

for(let i = 0; i<10; i++ ){
    console.log(i)
}
	///출력값: 0,1,2 ...9

* while 반복문

let i =0;

while(i<10){
    //코드~~
}
/// 이대로 실행을 해버리면 결국 i는 계속 0이기때문에 브라우저가 맛이가버린다 그래서 값을 넣어줘야한다


while(i<10){
     i++
}

---
let i =0;

while(i<10){
   console.log(i);
   i++;
}
				///이렇게 실행시 i가 9가 될때까지 콘솔에찍히며 반복하고 끝나면 코드를 빠져나오게 된다.

* do while문

  • i가 10보다 작으면 do 내부의 코드를 실행한다 라는 면에서 while문과 비슷하다.
let i =0;

do{
    //코드~
    i++;
}while ( i<10)

* break, continue (반복문 빠져나오기)

  • break : 멈추고 빠져나옴
  • continue : 멈추고 다음 반복으로 진행
while(true){									///while(true) 는 무한반복이니 조심해서 사용!
    let answer = confirm("계속할까요?");		
    if(!answer){
        break;
    }
}				///출력값 : alert같은 창이 계속뜨고 취소버튼 누르기전까지 계속 나옴
for(let i=0; i<10; i++){
    if(i%2){
        continue
    }
}							출력값 : 0,2,4,6,8				
	/// 해설 : 최초 i값에 0이 오면 2로 나누면 나머지는 0이기 컨티뉴를 만나지 않고 콘솔에 찍힘 
    다음 1이 주어지면 1을 2로 나누면 나머지가1 이기때문에 컨티뉴를 만나게 된다 
    그러면 로그에 찍히지 않고 다시 앞으로 반복

* 명확한 횟수가 정해져있으면 for문 그렇지 않다면 while을 사용하는게 좋다

* switch

스위치문은 일반적으로 쓰이는 if else 문과 거의 형태가 유사하다.

switch문

switch(평가){
    case A:
        //A일때 코드
    case B:
        //B일때 코드   
        ... 
}

if else 문

if(평가 == A){
    //A일때 코드
} else if(평가 == B){
    //B일때 코드
}
  • 코드예시let fruit = prompt("무슨과일을 먹고싶나요?");
//사과 : 100원
//바나나: 200원
//키위 : 300원
//멜론 : 400원


let fruit = prompt("무슨과일을 먹고싶나요?");
switch(fruit){
    case 사과:
        console.log('100원입니다.');
    case 바나나:
        console.log('200원입니다.');
    case 멜론:
        console.log('300원입니다.');
    case 수박:
        console.log('100원입니다.');
   }

			/// 실행 후 prompt 값에 바나나 를 입력하면 
				바나나 이후의 값이 전부 나옴 case문은 break가 없는 한 실행한 행 이후를 전부 나오게 하기때문
                그래서 각각에 break 를 걸어줘야함

                let fruit = prompt("무슨과일을 먹고싶나요?");
switch(fruit){
    case 사과:
        console.log('100원입니다.');
    	break;
    case 바나나:
        console.log('200원입니다.');
   		break
    case 멜론:
        console.log('300원입니다.');
    	break
    case 수박:
        console.log('100원입니다.');
    	break
   }
		/// 이후에 똑같이 실행하면 이번에는 선택한 변수명의 값만 출력이 된다.
                
           
///만약 변수명에 없는 과일을 선택한다면 아무것도 출력되지 않는다.

이경우에 if문은 else 를 사용했지만 switch 에서는 default 를 사용한다.

  switch(fruit){
    case 사과:
        console.log('100원입니다.');
    	break;
    case 바나나:
        console.log('200원입니다.');
   		break
    case 멜론:
        console.log('300원입니다.');
    	break
    case 수박:
        console.log('300원입니다.');
    	break
   } default:
      console.log('그런 과일 없습니다.');
      
      /// 그리고 수박과 멜론의 가격이 같은데 이러할때에는 합쳐줄수도 있다.
      
  case 멜론:
  case 수박:
        console.log('300원입니다.');
    	break
  	
      ///
  
profile
삽질도 100번 하면 요령이 생긴다. 부족한 건 경험으로 채우는 백엔드 개발자

0개의 댓글