
: if(...)문은 괄호 안에 들어가는 조건을 평가하는데, 그 결과가 true이면 코드 블록이 실행된다.
if(0) P { //0은 flasy(거짓 같은)값
...
}
// 확정된 불린 값을 if문에 전달
let cond = (year == 2023); //동등 비교를 통해 true/false 여부를 결정한다.
if(cond){
....
}
let year = prompt('오늘은 몇 년도 인가요?', '');
if(year == 2023){
alert('정답');
}else{
alert('오답'); // 2023의 값을 입력한 경우
}
조건에 따라 다른 값을 변수에 할당해줘야 할 때가 있다.
let accessAllowed;
let age = prmpt('나이를 입력해주세요.','');
if(age > 18){
accessAllowed = true;
}else{
accessAllowed = flase;
}
alert(accessAllowed);
: 물음표 연산자 == 조건부 연산자를 사용하면 위 예시를 짧고 간결하게 만들수 있다.
: 조건부 연산자는 물음표 ? 로 표시한다. 피연산자가 3개 이기 때문에 조건부 연산자를 '삼항(ternary)' 연산자라고 부르기도 한다.
let result = condition ? value1 : value2;
// ==
let accessAllowed = age>18 ? ture : false;
// age>19 주위의 괄호는 생각이 가능하다.
// 물음표 연산자는 우선순위가 낮으므로 비교 연산자 > 가 실행되고 난 뒤에 실행된다.
// 비교 연산 'age>18'이 먼서 실행
//위 연산자 자체가 true, false를 반환하기 때문에
//굳이 물음표 연산자를 사용하지 않아도 된다.
let accessAllowed = age > 18;
// 위의 식과 같다.
: 물음표 연산자 ?를 여러 개 연결하면 복수의 조건을 처리할 수 있다.
let age = promot('나이를 입력하세요', 18);
let message = (age > 3) ? '아가야 안녕?' :
(age < 18) ? '안녕?' :
(age < 100) ? '환영합니다.' :
'잘못 입력하셨습니다?';
alert(message);
위와 아래는 같다.
let age = prompt('나이를 입력하세요', 18);
if(age < 3){
message = '아가야 안녕?';
}else if(age < 18) {
message = '안녕?';
}else if(age < 100) {
message = '환영합니다';
}else{
message = '잘못 입력하셨습니다?';
}
해당 코드는 실행이 될까욤?
if("0"){
alert('Hello');
}
-> 실행이 됩니다!
if(true){
alert('hello');
}
//그러나 그냥 0이면 false이기 때문에 코드가 실행되지 않는다!
//if..else구조를 이용해 '자바스크립트의 '공식' 이름은 무었일까요?' 라는 질문을 하는 코드를 작성해보자.
// 사용자가 ECMASScript를 입력하면 정답, 아니라면 '모르셨너요? ECMScript입니다.'메시지 출력
let javaName = prompt("자바스크립트의 '공식' 이름은 무었일까요", "");
if(javaName == 'ECMScript'){
alert('정답입니다.');
}else{
alert('모르셨나요? ECMScript 입니다.');
}
//if...else오 프롬포트 대화상차를 이용해 사용자로부터 숫자 하나를 입력받고, 아래 조건에 따라 그 결과를 alert창에 출력해보자.
//- 입력받은 숫자가 0보다 큰 경우 1출력
//- 입력받은 숫자가 0보다 작은 경우 -1cnffur
//- 입력받은 숫자가 0인 경우 0을 출력
let num = prompt("숫자를 입력하세요.");
if(num > 0) {
alert(1);
}else if(num < 0){
alert(-1);
}else{
alert(0);
}
//조건부 연산자 '?'를 이용해 if문이 사용된 아래 코드를 변형해봐라! 동작 결과는 동일해야 한다.
let result;
if(a+b < 4){
result = '미만';
}else{
result = '이상';
}
//==
let result = (a+b<4) ? '미만':'이상';
//----------
let message;
if(login =='직원'){
message = '안녕하세요.;
}else if(login == '임원'){
message = '환영합니다.';
}else if(login == ''){
message = '로그인이 필요합니다.';
}else{
message = '';
}
//==
let message = (login =='직원') ? 안녕하세요 :
(login == '임원') ? 환영합니다. :
(login == '') ? 로그인이 필요합니다. ;