일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Dockerfile
- 독스트링
- 기초
- 미니큐브
- RTCP
- 표준출력
- stash
- 표준에러
- 명령어
- 쿠버네티스
- 리눅스
- Docker
- docstring
- 위코드
- corsmiddleware
- underscore
- minikube
- fastapi
- 도커
- kubernetes
- onicecandidate
- 6.6.0
- Python
- 파이썬
- 자바스크립트
- kurento
- Docker Compose
- JavaScript
- 7.0.0
- revert
- Today
- Total
Devlog
자바스크립트 익숙해지기 #2 본문
이번 시간에는 자바스크립트에서 조건문의 기초적인 사용방법에 대해 알아보도록 하겠다.
비교 연산자
- '==': 두 개의 값이 같은지 비교하는 연산자이다. 같다면 True, 아니면 False를 반환한다.
- '!=': 두 개의 값이 같지 않은지 비교하는 연산자이다. 같다면 False, 아니면 True를 반환한다.
- '===': 두 개의 값이 같은지 뿐만이 아니라 자료형도 비교하여 같으면 True, 아니면 False를 반환한다.
- '> & <': 크기를 비교하는 연산자이다. 초과 혹은 미만을 비교한다.
- '>= & <=': 크기를 비교하는 연산자이다. 이상 혹은 이하를 비교한다.
- '!': 특정 불리언 값을 반대로 바꾸는 연산자이다. Ture는 False로, False는 True로 바꾸어 준다.
- '!!': 완전한 불리언 값이 아닌 것을 불리언으로 바꾸어 반환한다. 예를 들어 빈 문자열은 False와 같이 취급되는데 만약 빈 문자열 앞에 '!!'를 붙여주면 False가 반환되게 된다.
비교 연산자에서 '=='와 '==='는 비슷한 기능을 하지만 자료형까지 비교한다는 점에서 '==='를 조건문에서 사용하는 것이 더 권장된다고 한다.
조건문 작성
자바스크립트에서 조건문의 작성은 아래와 같다.
let isValue = "string"
let num = 1
if (isValue === "string") {
num += 1
}
elif (isValue === "noting") {
num -= 1
}
else {
num *= 2
}
만약 위와 같은 조건문을 수행한다면, num의 값은 2가 될 것이다.
객체와 배열을 비교할 때 주의사항
간혹 객체 또는 배열을 비교할 상황이 있을 수 있다. 여기서는 주의해야 할 점이 있다. 아래와 같은 코드가 있다고 하자.
const person1 = {name: 'Max'}
const person2 = {name: 'Max'}
person1 == person2 // False
person1 === person2 // False
분명히 두 객체는 같은 값을 가지며, 같은 자료형을 가지고 있다. 하지만 비교 연산자를 사용하여 나온 결과는 False이다. 이는 내부의 값은 같지만 사실 두 객체는 메모리 상에서 별개의 객체로서 존재하며 내부의 값만 같기 때문이다. 아래의 예시를 하나 더 보도록 하자.
person1.value === person2.value // True
두 객체에서 값만 뽑아와서 비교하면 이는 True가 반환된다. 실제로 값은 같기 때문이다.
삼항 연산자
세 개의 피연산자를 받는 삼항 연산자의 작성법은 아래와 같다.
const name = type === "first-name" ? "Heung-min" : "Son";
name이라는 상수에 조건문을 먼저 본 이후 참일 경우 물음표 뒤 첫 번째 값을 반환하고, 거짓이면 따옴표 뒤의 값을 반환한다.
보통 if ~ else문의 대체제로 많이 사용되게 된다. 위에서는 조건문을 하나만 사용하였지만, 경우에 따라서 뒤에 물음표를 계속 붙여 여러 개의 조건문을 붙일 수 있지만 가독성면에서 좋지 않아 많이 사용되지 않는다고 한다.
논리 연산자
자바스크립트에서 논리 연산자와 비교 연산자가 어떻게 작동하는지를 이해하면 이를 응용할 수 있다. 아래 코드는 내가 학습하고 있는 강의에서 긁어온 코드이다.
const userName = 'Max';
const altName = '';
console.log(userName === 'Max'); // 불리언 값 참을 생성하고 출력
console.log(userName); // 문자열 'Max'에서 변경되지 않음
console.log(userName || null); // userName이 Truthy이므로 ||로 'Max'가 반환됨
console.log(altName || 'Max'); // altName은 (빈 문자열이므로)Falsy이며 'Max'가 반환됨
console.log(altName || ''); // altName과 ''는 모두 Falsy이지만 만일 첫 피연산자가 Falsy라면 항상 두 번째 피연산자가 반환되므로 ''이 반환됨
console.log(altName || null || 'Anna'); // altName과 null은 Falsy이므로 'Anna'가 반환됨
console.log(userName && 'Anna'); // userName은 Truthy이므로 두 번째 (!) 값인 'Anna'가 반환됨
console.log(altName && 'Anna'); // altName은 Falsy이므로 첫 번째 값인 ''이 반환됨
console.log(userName && ''); // userName은 Truthy이므로 두 번째 값인 ''이 반환됨
"Switch-Case"
자바스크립트에서는 if 조건문 외에 특정 조건을 만족하는 값을 반환하는 "Switch-Case"문을 지원한다.
const realValue = 2;
const value1 = 1;
const value2 = 2;
const value3 = 3;
switch (realValue) {
case value1: // realValue값이 value1과 같다면 수행
alert("catch");
break;
case value2: // realValue값이 value2과 같다면 수행
alert("catch");
break;
case value3: // realValue값이 value3과 같다면 수행
alert("catch");
break;
default: // 어떤 케이스에도 맞지 않다면 실행
alert("nothing");
}
위와 같이 if문 대신에 특정 값들의 동치를 비교해서 조건에 부합할 경우 모달 창을 띄우는 코드를 간단하게 만들어 보았다.
"Switch-Case"를 사용할 때 주의해야 할 점은 위와 같이 각 케이스를 마친 후 break가 없다면 그 이후에 있는 케이스도 모두 비교 작업을 하게 되니 만약 모든 경우를 다 볼 것이 아니라면 동치가 된 시점에 멈추도록 break를 써주어야 한다.
그리고 위에서는 동치 비교를 위해 사용하였지만 크거나 작음을 비교하는 용도로도 사용될 수 있다. 하지만 해당 조건에 대해 따지거나 조건이 복잡해지는 경우에는 if 조건문을 사용하는 것이 권장된다고 한다.
'언어 > JavaScript' 카테고리의 다른 글
자바스크립트 익숙해지기 #5 (0) | 2022.12.23 |
---|---|
자바스크립트 익숙해지기 #4 (0) | 2022.12.23 |
자바스크립트 익숙해지기 #3 (1) | 2022.12.20 |
자바스크립트 익숙해지기 #1 (0) | 2022.12.18 |