[JavaScript] 깔끔한 코드 팁!
요즘 시대에는 정말 좋은 유투버님들이 많다...
많은 유투브 채널을 보곤 하는데 그 중 드림코딩엘리 님의 영상을 많이 보곤 한다.
드림코딩 엘리님은 독학으로는 배우기 쉽지 않은 그런 경험 노하우 및 개념부터하여 양질의 학습을 하게 도와준다.
그래서 그 양질의 지식을 습득하기 위해 기록을 해두려한다.
📌 Nullish coalescing operator
null과 undefined 를 체크 할 때 사용한다 !! 🧐
//Bad Code
function printMessage(text){
let message = text;
if(text == null || text == undefined){
message == "Nothing to display";
}
console.log(message);
}
//Good Code 1
function printMessage(text){
const message = text ?? 'Nothing to display';
console.log(message);
}
printMessage('Hello'); // Hello
printMessage(undefined); // Nothing to display
printMessage(null); // Nothing to display
leftExpr ?? rightExpr
?? 연산자는 text 값이 null이거나 undefined 일때만 🧐 'Nothing to display'를 message에 할당 한다.
✔️ Default Parameter
//Default parameter is only for undefined
function printMessage(text ='Nothing to display'){
console.log(text);
}
printMessage('Hello'); // Hello
printMessage(undefined); // Nothing to display
printMessage(null); // null
Nullish coalescing operator 와 다르게 undefined 일때만 Default Parameter 를 반환한다. null의 경우 null 그대로 출력!
✔️ Logical OR operator ||
// Logical OR operator ||
function printMessage(text){
const message = text || 'Nothing to display';
console.log(message);
}
printMessage('Hello'); // Hello
printMessage(undefined) // Nothing to display
printMessage(null) // Nothing to display
printMessage(0) // Nothing to display
printMessage(''); // Nothing to display
leftExpr || rightExpr
leftExpr 이 falsy 일 때 rightExpr 이 실행됨
JavaScript 에서 falsy 란 ?
undefined,null,
false,NaN,
0,-0,
'', "",``
정리
Nullish coalescing operator ??
- null, undefined 모두 체크함
Default Parameter function(text='Nothing to display')
- undefined 일때만 Defualt Parameter 반환 ( null 은 그대로 출력 )
Logical OR operator ||
- falsy 일 경우 rightExpr 이 실행!
3가지의 차이점을 숙지하고 사용하자 !
📌 Object Destructing
> Object Destructuring
const person = {
name : 'Han',
age : 20,
phone : '010777777',
};
// Bad Code
function displayPerson(person){
displayAvatar(person.name);
displayName(person.name);
displayProfile(person.name, person.age);
}
// Good Code 🤗
function displayPerson(person){
const {name, age} = person;
displayAvatar(name);
displayName(name);
displayProfile(name, age);
}
📌 Spread Syntax - Object
//Spread Syntax - Object
const item = { type: 'T-shirt', size: 'M' };
const detail = { price: 20, made: 'Korea', gender : 'M'};
// Bad Code
item['price'] = detail.price;
const newObject = new Object();
newObject['type'] = item.type;
newObject['size'] = item.size;
newObject['price'] = detail.price;
newObject['made'] = detail.made;
newObject['gender'] = detail.gender;
// Bad Code
const newObject2 = {
type: item.type,
size: item.size,
price: detail.price,
made: detail.made,
gender: detail.gender,
}
// Good Code 🥰
const shirt0 = Object.assign(item,detail);
// Better Code 😍
const shirt = {...item,...detail, price: 40};
//price만 update됨 😱
// Spread Syntax - Array
let fruits = ['Apple', 'Pear', 'Grape'];
//fruits.push('Lemon');
fruits = [...fruits, 'Lemon'];
//fruits.unshift('Lemon');
fruits = ['Lemon', ...fruits];
const fruits2 = ['PineApple', 'Banana'];
let combined = [...fruits, ...fruits2];
정말 놀랍다... 이런게 깔끔한 코드구나 ..😲
📌 Optional Chaining
const bob = {
name: 'Han',
age: 20,
};
const john = {
age: 20,
job: {
title: 'Software Engineer',
},
};
// 어떠한 사람의 직업이 있고 직업이 있다면 직업의 이름이 있으면 그것을 출력
// Bad Code
function displayJobTitle(person){
if(person.job && person.job.title){
console.log(person.job.title);
}
}
// Good Code 😘
function displayJobTitle(person){
if(person.job?.title){
console.log(person.job.title);
}
}
// Good Code 🤩
function displayJobTitle(person){
const title = person.job?.title ?? 'No Job Yet';
console.log(title);
}
놀랍다 놀라워 ...🤣
📌 Async Await
// Promise -> Async/await
//Bad Code
function displayUser(){
fetchUser()
.then((user) => {
fetchProfile(user)
.then((profile) => {
updateUI(user,profile);
});
});
}
//Good Code 😘
async function displayUser(){
const user = await fetchUser();
const profile = await fetchProfile(user);
updateUI(user, profile);
}
엘리님 강의에 내용이 조금 더 있는데 궁금하신분들은 상단의 링크로 들어가서 더 배우세요 ~!
Author And Source
이 문제에 관하여([JavaScript] 깔끔한 코드 팁!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@lordmast/JavaScript-깔끔한-코드-팁저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)