TIL0505 삼항 연산자, 단축평가 논리 계산, 기본 파라미터, 비구조화 할당

Yunji·2020년 5월 5일
0

TIL

목록 보기
42/54

삼항 연산자

if문 처럼 특정 조건에 따라 값이 달라지는 식에서 if문 처럼 삼항 연산자를 사용할 수 있다
기본 구성 => 조건 ? true일때 : false일때;

const arr = [];
let answer = '';
if (arr.length === 0) {
	answer = "yes";
} else {
	answer = "no";
}
console.log(answer);
=>
let answer = arr.length === 0 ? "yes" : "no";
console.log(answer);

코드에 따라 줄바꿈해서 쓰기도 한다

let answer = arr.length === 0 
	? "yes" 
	: "no";
console.log(answer);

삼항 연산자는 반환할 때도 사용하기 좋다

function checkAge(age) {
	if (age >= 20) {
    	return 'Yes!';
    } else {
    	return 'No!';
    }
}
=>
function checkAge(age) {
  return (age >= 20) ? 'Yes!' : 'No!';
}
checkAge(30);

Truthy and Falsy

undefined, null, 0, '', NaN 은 false 이다
!를 앞에 붙여주면 값이 전환된다 (!undefined === true)

단축평가 논리 계산

&& 는 둘 다 true, || 는 둘 중 하나만 true 이면 된다

true && true  // true
true && false  // false
true || false  // true
false || true  // treu

&& 는 false 를 우선으로 찾아 그 값을 리턴한다 둘 다 true 이면 나중에 있는 true 값을 리턴한다
반대로 || 는 true 를 우선으로 찾는다 둘 다 false 면 나중에 있는 false 값을 리턴한다

console.log(true && 'hi');  // hi
console.log(false && 'hi');  // false
console.log(true && '');  // ''
console.log(true || 'hi');  // true
console.log(false || 'hi');  // hi
console.log(false || '');  // ''

기본 파라미터

값이 없거나 undefined 인 경우 기본으로 설정된 값으로 초기화한다

function add(a,b) {
	return a + b;
}
add(3,4);  // 7
add(3);  // NaN
=>
function add(a,b=1) {
 return a + b;
}
add(3,4)  // 7
add(4)  // 5

비구조화 할당

배열이나 객체 안의 값을 추출해서 쓸 수 있는 문법
객체의 값을 추출해서 선언하거나 파라미터 안에서 할당을 할 수 있다

const arr = {
	name: 'pin',
  	age: 24,
  	hobby: 'baseball'
};
function talk(info) {
	const { name, age, hobby} = info;
  	return ` 이름은 ${name}이고 나이는 ${age}, 취미는 ${hobby}이다.`;
}
talk(arr);
// or
function talk({ name, age, hobby}) {
  	return ` 이름은 ${name}이고 나이는 ${age}, 취미는 ${hobby}이다.`;
}
talk(arr);

0개의 댓글