일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 개발공부
- 리액트쿼리
- 공식문서
- components
- 자바스크립트
- 개발자
- 콜백
- 리액트
- 타입스크립트
- 프론트엔드 스쿨
- CSS
- 프론트엔드
- HTML
- 인터넷
- 제로베이스
- 개발
- 부트캠프
- 프론트
- TS
- 탄스택쿼리
- hooks
- TypeScript
- 조건문
- react
- 코딩
- Tanstack
- props
- JavaScript
- Tanstack Query
- JS
Archives
- Today
- Total
SUE 개발 블로그
자바스크립트 참 같은 값, 거짓 같은 값 Truthy & Falsy 본문
let a = "";
if (a) {
console.log("TRUE");
} else {
console.log("FALSE");
}
// FALSE가 출력된다.
// 조건식에 a처럼 변수를 입력했다.
// a는 true도 false도 아닌 string 이란 자료형으로 이루어져있다.
// 빈 문자열 string을 가진 a라는 변수를 if문의 조건식에 넣으면 거짓으로 인지한다.
let a = []; // TRUE
let a = undefined // FALSE
// 위와 같은 값이 나오는 특이한 성질을 가지고 있다.
// 자바스크립가 자신만의 특정한 기준으로 갑슬 참이나 거짓으로 분류하는
// Truthy 와 Falsy 개념을 알아보자. ( 그 자신만의 기준이란? )
let a = [];
// = {};
// = 12;
// = "0";
// = "false";
// = Infinity;
// 위와 같이 true가 아니여도
// 참으로 분류하는 자바스크립트이 값들을 참값은 값.
// Truthy 라고 부른다.
let a = null;
// = undefined;
// = 0;
// = -0;
// = NaN;
// = "";
// Falsy한 값들의 대표.
// 이러한 사례들을 코딩할 때 활용하기 좋은 성질이다.
이러한 개념을 어떻게 활용할 것인지. 함수를 통한 프로그램으로 알아보자.
객체를 매개변수로 받아서 받은 객체에서 특정한 프로퍼티를 반환하는 함수를 포함한 프로그래밍이다.
const getName = (person) => {
return person.name;
};
let person = { name: "이수광" };
const name = getName(person);
console.log(name);
// 문제없이 작동한다.
// ------------------------------------------------------------
const getName = (person) => {
return person.name;
};
let person;
const name = getName(person);
console.log(name);
// 프로퍼티를 undefined 라 읽을 수 없다 오류가 뜬다.
// undefined에 점 표기법 person.name 을 사용했기 때문.
// undefined는 객체가 아니기 때문에 내부 프로퍼타애 접근이 불가능하다.
// 이러한 상황에서 우린 조건문을 통해 전달받은 파리미터가 객체인지
// 또는 undefined 나 null 이 아닌지 판단해줘야 한다.
// ------------------------------------------------------------
const getName = (person) => {
if (person === undefined || null) {
return "객체가 아님";
}
return person.name;
};
let person;
const name = getName(person);
// console.log(name); // 객체가 아님.
// 위와 같이 person 이 undefined나 null일 경우 "객체가 아님"
// 을 반환하고 멈추기 때문에 오류를 내지 않는다.
// 모든 함수마다 파라미터가 undefined와 null이 아니라는 것을
// if 문으로 예외처리하기는 힘들다.
// 그래서 Falsy 속성을 이용해서 쉽게 해결한다.
// ------------------------------------------------------------
const getName = (person) => {
if (!person) {
// false 에 NOT(!)을 붙이면 true
return "객체가 아님";
}
return person.name;
};
let person;
const name = getName(person);
console.log(name); // 객체가 아님.
'JavaScript' 카테고리의 다른 글
자바스크립트 단락회로 평가 (0) | 2023.12.11 |
---|---|
자바스크립트 삼항 연산자 (2) | 2023.11.30 |
자바스크립트 콜백 함수 (0) | 2023.11.30 |
자바스크립트 함수표현식과 화살표 함수 (0) | 2023.11.29 |
자바스크립트 함수 (2) | 2023.11.14 |