기본, 비교, 논리 연산자, 조건문
목차
1. 기본 연산자
(1) %의 쓰임
(2) 거듭제곱
(3) 연산자의 우선순위
(4) 연산자 줄여서 쓰기
(5) 증가 연산자, 감소 연산자
2. 비교 연산자, 조건문(< > <= >= == !=, if, else)
(1) 비교 연산자
(2) 동등 연산자
(3) 조건문(if, else)
3. 논리 연산자 (AND, OR, NOT)
(1) ||(OR)
(2) &&(AND)
(3) !(NOT)
(4) 우선순위
1. 연산자(Operators)
종류는 다섯 가지이다
+, -, *, /, %
(1) %의 쓰임
우리가 흔히 +, -, *, /는 보니 알겠는데, %(나머지)는 어디에 쓸까?
예시 1)
홀짝 구분
홀수: X % 2 = 1
짝수: Y % 2 = 0
예시 2)
어떤 값이 들어와도 5 미만 값 반환.
X % 5 = 0-4 사이의 값만 반환
(2) 거듭제곱
*를 **붙이면 거듭제곱이 된다.
const num = 2 ** 3; // 2의 3승
console.log(num); // 8
(3) 연산자의 우선순위
* / > + -
*, /가 +, -보다 우선순위에 적용된다.
(4) 연산자 줄여서 쓰기
let num1 = 10;
// num1 = num1 + 5;
num1 *= 5; // 50;
num1 /= 5; // 2;
num1 %= 5; // 0;
num1 += 5; // 15;
num1 -= 5; // 5;
(5) 증가 연산자, 감소 연산자
let num2 = 10;
num2++; // 11
num2--; // 9
// 증감연산자를 앞에 쓰느냐, 뒤에쓰느냐에 따라 차이가 있다.
let result = num2++; // 10 (result = num2)++
let result1 = ++num2; // 11 result1 = (++num2)
2. 비교 연산자, 조건문( < > <= >= == != )
(1) 비교 연산자
a = 3 // a에 3을 넣는다.
a == 3 // a는 3과 같다.
a != 3 // a는 3과 다르다.
console.log(10>5); //true
console.log(10 == 5); //false 동등 연산자
console.log(10 != 5); //true
(2) 동등 연산자
// 동등 연산자
const a = 1;
const b = "1";
console.log(a == b); // true 숫자형 문자형 비교했는데 같다고 나온다. (타입 비교 X)
console.log(a === b); // 일치연산자. false 다르다. (타입 비교 O)
(3) 조건문(if, else)
// 조건문
// 1. 19살 초과, 이하 구분
const age1 = 30;
if(age1 > 19){
console.log('환영합니다.'); // 출력
}
if(age1 <= 19){
console.log('안녕히가세요.');
}
// 2. else 활용(if문이 false일 때 실행)
const age2 = 10;
if(age2 > 19) {
console.log('환영합니다.');
} else {
console.log('안녕히가세요.'); //출력
}
// 3. 추가요구사항: 정확히 19살이면 수능 잘보세요 라는 문구를 보여주세요
// else if 사용(if문이 flase일 때 거쳐가고, else if가 false이면 else 실행)
const age3 = 19;
if(age3 > 19) {
console.log('환영합니다.');
} else if(age3 === 19) {
console.log('수능 잘보세요.'); //출력
} else {
console.log('안녕히가세요.');
}
3. 논리 연산자
||(OR) &&(AND) !(NOT)
(1) ||(OR)
여러개 중 하나라도 true 면 true
즉, 모든 값이 false일 때 false 반환
a || b // a 나 b 중 true 가 있으면 true
//OR
//이름이 TOM 이거나, 성인이면 통과
const name = "Mike";
const age = 30;
if(name === "TOM" || age > 19){
console.log("통과"); // 출력. 이름은 TOM이 아니지만 성인이어서 통과됨
} else {
console.log("불통과");
}
(2) &&(AND)
모든값이 true면 true
즉, 하나라도 false면 false 반환
a && b // a 와 b 둘 다 true 이면 true
//AND
//이름이 Mike이고, 성인이면 통과
if(name === "Mike" && age > 19){
console.log("통과"); // 출력
} else {
console.log("불통과");
}
(3) !(NOT)
true면 false
false면 true
!a // a가 flase이면 true
//NOT
//나이를 입력받아 성인이 아니면 돌아가라고...
const age2 = prompt("나이가...?");
const isAdult = age2 > 19;
if(!isAdult){ // if(!(age2>19)){} 가능
console.log("돌아가...")
}
예) 스티브 잡스는 한국인 이거나OR, 남자이다 = true
예) 스티브 잡스는 한국인 이고AND, 남자이다 = false
평가
OR는 첫번째 true를 발견하는 즉시 평가를 멈춤
예) 스티브 잡스는 남자 이거나OR, 한국인 이거나, 군인 이거나... // 남자라는 정보가 true이므로 뒤에 한국인, 군인 정보는 평가 안함
AND는 첫번째 false를 발견하는 즉시 평가를 멈춤
예) 스티브 잡스는 남자 이고AND, 한국인 이며, 군인인 동시에... // 남자, 한국인까지 평가하고 false값이 나오므로 뒤에 군인은 평가 X
(4) 우선순위
const gender = 'F';
const name3 = 'Jane';
const isAdult2 = true;
남자이고, 이름이 Mike 이거나 성인이면 통과를 하게 하고싶다.
if(gender === 'M' && name === 'Mike' || isAdult){
console.log('통과') //출력
} else {
console.log('불통과')
}
그런데 위와 같이 작성하면?? 남자이거나, Mike이거나, 성인이면 전부 통과가 된다.
남자이고, 이름이 Mike 이거나 성인이면 통과를 하고 싶다면 아래와 같이 괄호를 넣어 우선순위를 정해서 작성해야한다.
if(gender === 'M' && (name === 'Mike' || isAdult)){
console.log('통과')
} else {
console.log('불통과') //출력
}
참고자료
코딩앙마 - 자바스크립트 기초 강좌 : 100분 완성(https://youtu.be/KF6t61yuPCY)
'코딩 공부 > Javascript' 카테고리의 다른 글
[Javascript 기초] switch(스위치) - 가온 코딩 (0) | 2022.08.03 |
---|---|
[Javascript 기초] 반복문(for, while, do while) + break, continue - 가온 코딩 (0) | 2022.08.02 |
[Javascript 기초] 형변환 - 가온 코딩 (0) | 2022.08.02 |
[Javascript 기초] 메시지가 뜨는 alert, prompt, confirm - 가온 코딩 (0) | 2022.08.02 |
[Javascript 기초] 변수, 자료형 - 가온 코딩 (0) | 2022.08.02 |