조건문과 논리연산자

99PERCENT·2022년 2월 18일
0

JavaScript

목록 보기
3/12

조건문(Conditional)

	if (조건 1) {
		조건이 참이면 할 행위	 // 조건1이 거짓이면 조건2로 이동…
	} else if (조건 2) {
		조건이 참이면 할 행위
	} else (나머지/ 조건1,2가 아닌 모든 경우){
		행위
	}
	반복문은 순서의 행위가 중요하다. 나이순으로 입장료를 매길 때, 가장 높은 나이순으로 내려가던가 가장 낮은 나이순으로 올라가든가 해야된다.
	항상 삼중등호 사용 필수

조건문 안에 조건문(Nesting)

	예시 : 비밀번호 입력받기(조건1: 6자 이상, 조건2: 공백 없도록)
	조건 1: .length 매서드 사용,	조건2: .indexOf 매서드 사용	—> indexOf(‘ ’);	—>  공백을 찾는 것, 공백이 없으면 -1이 뜰 것. 있으면 다른 수가 뜰 것.
		const password = prompt(“비밀번호를 입력해주세요.);
	
		if(password.length >= 6) {
			if(password.indexOf(‘ ’) === -1) {
				console.log(“조건이 충족되었습니다.);
			} else {
				console.log(“공백 없는 비밀번호로 수정해주세요.);
			}
		} else {
			console.log(“비밀번호 6글자 이상으로 수정해주세요.);
		}
	

Truth-y 값과 False-y 값 혹은 truthyness falseness

	자바스크립트의 모든 값에는 고유 truthyness와 falseness가 있다.
	단순히 참인지 거짓인지를 의미하는 것이 아닌(도덕적인 것이 아닌), 표면상 true와 false인 값을 말한다.
		False-y
			* false
			* 0
			* “” (공백)
			* null
			* undefined
			* NaN
		Truth-y
			* 위 False-y를 제외한 모든 값이 truthy!
			예시
		 	const userInput = prompt(“아무거나 입력”);
	
			if(userInput){
				console.log(“Truthy”); 
			} else {
			console.log(“Falsy!);}

논리연산자

		AND(&&) —> 두 조건이 모두 참이어야 참
			예시
					1 <= 4 && ‘a’ === ‘a’ ;				// TRUE && TRUE 		//  TRUE 	
				 	9 > 10 && 9 >= 9;					// FALSE && TRUE 	// FALSE
					‘abc’.length === 3 && 1 + 1 === 4;	// TRUE && FALSE 	// FALSE
			활용(Nesting 조건문의 비밀번호 예시)
				const password = prompt(“비밀번호를 입력해주세요.);
	
				if(password.length >= 6 && password.indexOf(‘ ’) === -1 ) {
					console.log(“조건이 충족되었습니다.);
				} else {
					console.log(“비밀번호 공백없이 6글자 이상으로 수정해주세요.);
				}
		OR(||) —> 한 조건이 참이면 모두 참
			예시
					1 != 1 || 10 === 10		// FALSE || TRUE	// TRUE
					10/2 === 5 || null 		// TRUE || FALSE 	// TRUE
					0 || undefined			// FALSE || FALSE 	// FALSE
			적용(조건문 예시 중 입장료 관련)
				if(age >=  0 && age <5 || age >= 65 && age < 120){
					console.log(“입장료 무료(아이, 노약자));
				} else if(age > 5 && age <= 18){
					console.log(“입장료 반값(학생));
				} else if(age > 18 && age < 65) {
					console.log(“입장료 정상값(성인));
				} else {
					console.log(“유효한 나이를 입력하세요.);
				}
		NOT(!) —> false면 true 반환, true면 false 반환
				예시
					!null			// TRUE
					!(0 === 0)	// FALSE
					!(3 <= 4)		// FALSE
			적용1. (입력칸 공백 시 —> 공백은 falsy이므로)
					let nickName = prompt(“닉네임을 입력하세요”);	

					if(!nickName) {	
						prompt(“닉네임을 입력해야 다음 단계로 넘어갈 수 있습니다.);
					} 
			적용2. 할인대상 확인
					if(!(age >=  0 && age <5 || age >= 65 && age < 120)){
						console.log(“할인, 무료 적용 연령이 아닙니다.);
					} else {
						console.log(“할인, 무료 적용 연령이 맞습니다.);
					}
		Switch문 —> 중요도, 활용도 철저히 낮음. 
				예시
					const day = 2;
					switch(day){
						case 1: 
							console.log(“Monday”);
							break;
						case 2:
							console.log(“Tuesday”);
							break;
						case 3:
							console.log(“Wednesday”);
							break;
						default:
							console.log(“Invalid Number”);
					}
				—> 결과값 = Tuesday
				—> 스위치는 결과적으로 일치하는 값을 찾는데,  day의 값인 2와 case2가 일치되었고 break을 만나 중단한다. break이 없으면 끝까지 갈 것이다.
profile
99 ~ 100

0개의 댓글