일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
Tags
- 디지몬
- C로 시작하는 컴퓨터 프로그래밍4판
- java
- javascript
- 日本語
- 연습문제
- vscode
- rails
- 一日一つメソッド
- Python
- メソッド
- nico
- 건담베이스
- html
- 자바
- 일본어
- 반다이몰
- 単語
- springboot
- Spring
- Flutter
- 건담
- Web
- CSS
- DART
- rails7
- 인프런
- ruby
- jsp
- 비즈니스일본어
Archives
- Today
- Total
AR삽질러
JavaScript - Truthy와 Falsy (12) 본문
728x90
JavaScript - Truthy와 Falsy (12)
1. Truthy & Falsy란
- JavaScript에서 값이 Boolean일때 어떻게 평가되는지 나타내며 참이나 거짓을 의미하지 않는 값이라도 조건문 내에서 참이나 거짓으로 평가하는 특징
2. Falsy한 값
- Falsy값은 불리언 문맥에서 false로 평가되는 값으로 if조건문이나 논리 연산에서 false처럼 동작한다.
false | boolean | "" | 빈 문자열 |
0 | 숫자 0 | null | 값이 없음 |
-0 | 음수 | undefined | 정의되지 않음 |
0n | Bigint 0 | NaN | Not-a-Number |
// 1. Falsy한 값
let f1 = undefined;
let f2 = null;
let f3 = 0;
let f4 = -0;
let f5 = NaN;
let f6 = "";
let f7 = 0n;
if (!f1) {
console.log("falsy");
}
if (!f2) {
console.log("falsy");
}
if (!f3) {
console.log("falsy");
}
if (!f4) {
console.log("falsy");
}
if (!f5) {
console.log("falsy");
}
if (!f6) {
console.log("falsy");
}
if (!f7) {
console.log("falsy");
}
3. Truthy
- 7가지 Falsy한 값들을 제외한 나머지 모든 값
true | boolean | 객체 | 모든 객체(배열 포함) |
number | 0이 아닌 모든 숫자 | 함수 | 모든 함수 |
string | 빈 문자열이 아닌 모든 문자열 | Bigint | 0n 이 아닌 모든 Bigint |
let t1 = "hello";
let t2 = "123";
let t3 = [];
let t4 = {};
let t5 = () => {};
if (t5) {
console.log("Truthy");
}
4. Falsy한 값을 활용해 기본값을 설정하고 사용자 입력이 없을 경우 기본값을 출력하는 코드
function getUserName(person) {
if (!person) {
console.log("person의 값이 없습니다.");
return;
}
console.log(person.name);
}
let person = { name: "AR" };
getUserName(person);
getUserName("");
getUserName();
getUserName(person)
- person이 Falsy인지 확인한다.
- person값이 undefined, null, 빈문자열, "", 0, NaN, false 같은 Falsy한 값이라면 설정된 값을 출력하고 함수를 종료한다.
728x90
반응형
LIST
'WEB > JavaScript' 카테고리의 다른 글
JavaScript - 구조분해할당(Destructuring Assignment) (14) (0) | 2024.08.20 |
---|---|
JavaScript - 단락평가(Short-circuit Evaluation) (13) (0) | 2024.08.20 |
JavaScript - 배열 (11) (0) | 2024.06.30 |
JavaScript - 객체 (10) (0) | 2024.06.30 |
JavaScript - 스코프 (9) (0) | 2024.06.30 |