export function printPortraitImage(id: string): void {
const found = allCities.find(city => city.id === id);
if(!found) {
throw new Error('data-id is not match with AllCities DB ');
}
targetImage.setAttribute('src', found.src);
}
export function printPortraitTitle(id: string): void {
const found = allCities.find(city => city.id === id);
if(found) {
targetDesc.innerHTML = found.name;
} else {
throw new Error('data-id is not match with AllCities DB')
}
}
if로 narrowing 할 때
위에처럼 부정을 먼저 깔아놓고 실행문을 아래에 적는거랑
아래처럼 조건에 부합하면 실행되도록 하고 실패하면 에러뜨게 하는 것중에 어떤게 나음?
에러가 자주 뜨면 위가 낫고 아니면 아래가 나은데 난 그냥 가독성 때문에 위에만 씀 사실 별차이 없음
위로하되 브라켓 안치고 한줄 if로 써버림
위 방법이 낫다고 어디선가 계속 들엇는데 출처는 몰르겟슴 일단 나도 가능한 위 방법으로 사용함
딱히 타스에 국한된 문제는 아니네 난 가독성 때문에 아래 선호 - dc App
얼리 리턴이 나음 중첩 if문 2,3개 정도 될때 머리 잘쓰면 전부다 얼리리턴 처리하고 뎁스 1개로 줄여버릴수 있음 나중에 그런 상황되어보면 알게 됨
이거 맞다. 위 방식으로 하면 필터링 돼서 중첩 안하고 조건 간결해짐
타스에 국한되는 개념은 아니고 두루두루 자주 쓰이는 패턴. 문제 있는 코드는 최대한 빠르게 함수 탈출시켜버리고 나머지 영역은 이상적인 상황만 남겨두셈
guard pattern 형식 좋아하면 1 근데 나는 2 개싫어함
2는 누구나 다 싫어해. 코드의 응집도가 떨어져서 코드가 길어지면 길어질수록 원하는 코드를 찾기가 힘들어