
TypeScript
161
아이템 28 유효한 상태만 표현하는 타입을 지향하기
function getStickSetting(controls: CockpitControls) {
const {leftSideStick, rightSideStick}
=
controls;
if (leftSideStick
===
0) {
return rightSideStick;
} else if (rightSideStick
===
0) {
return leftSideStick;
}
if (Math.abs(leftSideStick
-
rightSideStick) < 5) {
return (leftSideStick + rightSideStick) / 2;
}
// ???
}
그러나 두 스틱의 각도가 매우 다른 경우는 해결하기 어렵습니다. 그렇다고 해
결책 없이 조종사에게 오류를 띄운다는 것은 현실적으로 불가능한 일입니다.
비행 중이기 때문에 스틱의 각도는 어떻게든 설정되어야 합니다.
한편, 비행기가 폭풍에 휘말리자 부기장은 조용히 사이드 스틱을 뒤로 당겼
습니다. 고도는 올라갔지만 결국은 속력이 떨어져서, 스톨(양력을 잃고 힘없이
떨어지는) 상태가 되었고 곧이어 비행기는 추락하기 시작했습니다.
조종사들은 비행 중 스톨 상태에 빠지면, 스틱을 앞으로 밀어 비행기가 하강
하면서 속력을 다시