> // greater than
< // less than
>= // greater than or equal to
<= // less than or equal to
== // equality
!= // not equal
=== // strict equality
!== // strict non-equality
문자열도 비교가 된다. 유니코드 값으로. 대문자가 소문자보다 작다.
이중등호는 value를 비교. type은 상관 없다.
1 == '1'
같음. 강제로 같은 타입으로 바꾼다음 비교한다. 되도록 사용하지 말것.
삼중등호는 엄격한 비교연산자 값과 타입이 모두 맞아야한다.
값을 서로 비교할때는 항상 삼중 등호를 사용해야 한다.
alert('hi!')
alert는 사용자에게 뭔가를 출력해 주지만 콘솔에서 출력하진 않는다. 팝업창이 뜬다.
prompt('please enter password')
prompt는 인수를 받아들인다. 입력창이 뜬다. 문구와 함께.
입력창에 입력하면 콘솔창에 입력한 값이 나온다.
demo.html이 있다면 거기에 자바스크립트를 실행하기 위하여 app.js라는 파일을 만든 후, html파일 안에
<script src="app.js"></script>
스크립트를 넣는다. 보통 태그의 끝에 작성한다.
let rating = 3;
if (rating === 3) {
console.log("You are a superstar!");
}
else if (rating === 2) {
console.log("Meets expectations");
}
else {
console.log("Invalid rating!");
}
if 뒤 괄호안에 조건문을 넣는다. 조건문이 참이면 중괄호 안에 코드가 실행된다. 앞에 if문이 실행되지 않으면 그 다음 else if문이 실행된다.
else if문까지 실행되지 않으면 else 문이 실행된다.
if문 안에 if문을 넣는다.
let password = "cat dog";
if (password.length >= 6) {
if(password.indexOf(' ') !== -1) {
console.log("password cannot inclue spaces");
}
else {
console.log("Valid password!")
}
}
else {
console.log("password too short!");
}
패스워드가 6자리 이상일때 공백을 포함하는지 검사한다.
위 여섯가지 값은 Falsy다. 그 외는 전부 Truthy이다.
if (userInput) {
console.log("TRUTHY!")
} elser {
console.log("FALSY")
}
if문 뒤 괄호안에 그냥 변수만 넣으면 해당값이 truthy하면 조건이 만족된다. !userInput 처럼 !를 앞에 붙이면 반대가 된다. 해당값이 falsy면 만족.
논리 연산자
if(password.length >= 6 && password.indexOf(' ') === -1) {
console.log("Valid password")
}
&&로 연결하면 전부 true여야 true가 된다.
|| 로 연결하면 하나만 true이면 true
if (age >= 0 && age < 5 || age >= 65) {
console.log("FREE")
}
0살 이상이고 5살 미만 이거나 65세 이상이면
! 은 값을 반전시킨다.
!true // false
! ( 0 === 0 ) // false
! ( 3 < 4) // false
true가 false가 되고 false가 true가 된다.
if (!(age >= 0 && age < 5 || age >= 65)) {
console.log("you are not a baby or a senior!")
}
(0살 이상이고 5살 미만 이거나 65세 이상이면) 이 아니면.
케이스가 많은 if문을 대체할수있다.
const day = 2;
switch (day) {
case 1:
console.log('Monday!');
break;
case 2:
console.log('Tuesday!');
break;
case 3:
console.log('Wednesday!');
break;
case 4:
console.log('Thursday!');
break;
case 5:
console.log('Friday!');
break;
default:
console.log('Invalid Number')
}
경로가 많으면 switch구문으로 편리하게 쓸수 있다. 자주 쓰이진 않는다. break를 쓰면 빠져나온다. 만약 break가 없으면 해당되는 case 이후에 있는 코드를 전부 실행한다. 해당되는 것이 없으면 마지막에 default로 간다.