✍ Today I Learned
- [Up Down Game] 만들면서 느낀 점
- 조건문을 실생활에도 도입해보자!
- 데이터를 가져올 땐 언제나 데이터 타입을 신경 써야 한다.
- 자바스크립트로 데이터를 받아올 때 value속성의 데이터는 모두 string으로 받아온다.
- 전역 변수는 초기화까지 세팅해주는 것이 좋다. 숫자로 연산할 거라면 0으로 세팅!
- 전역 변수는 최소한으로, 꼭 필요할 때만 사용한다.
- 조건절을 만들 때는 경우의 수를 잘 따져보자.
- input type number의 min, max 속성은 button이 submit 속성일 때만 작동한다.
- 함수는 기능적으로 분리해야 한다.
- [호칭 알려주기] 만들면서 느낀 점
- 조건절의 경우의 수 대분류부터 소분류로 잘 따져보자.
- 하나의 return에 여러 개의 값을 넘겨줄 수 없다.
- 함수의 기능과 무엇이 출력되는지, 다른 함수와 어떻게 엮을 것인지 생각하기.
- [가위바위보 게임] 만들면서 느낀 점
- 컴퓨터의 선택과 나의 선택도 함께 출력하기 성공!
- 일단 구현은 되는데 계속 리팩토링 해야 할 듯.
- 범위 연산은 if문, 이퀄 연산은 switch문이 적절하다.
- 어느 시점에 어느 부분을 어떻게 바꾸는 건지 생각하면서 코드 작성하기.
- 이벤트가 발생한 대상의 요소를 가져오려면 event.target 속성을 이용한다.
// 함수 호출 하면서 횟수제한 5번
document.addEventListener('click', function (e) {
let targetId = e.target.id;
if (targetId == 's' || targetId == 'r' || targetId == 'p') {
if (count < 5) {
document.getElementById('my').innerText = targetId;
let my = document.getElementById(targetId).value;
gameRsp(makeRsp(), my);
count++;
} else {
document.getElementById('resultMsg').innerText = '5번의 기회가 끝났습니다. 다시 시작 버튼을 눌러주세요!'
document.getElementById('resetBtn').style.display = "block"
document.getElementById('s').disabled = true;
document.getElementById('r').disabled = true;
document.getElementById('p').disabled = true;
}
}
})
- [마지막 일은 며칠일까?] 만들면서 느낀 점
- 가장 많은 확률의 case를 default로 설정한다. (if문과 반대)
- boolean타입도 switch문에서 활용 가능하다.
- 개별적으로 변수를 선언할 일이 많다면? if문
- 단일 값을 단일 조건으로 나눈다면? 삼항 연산자
- if문 안에 switch문, switch문 안에 if문 가능하다.
- 널연산자(Null Coalescing Operator)는 null, undefined를 판단하여 해당하면 대체값을 출력하는 연산자이다. (ES2020 버전부터 지원)
// 좌측항이 null or undefined 이면 우측값을 출력
// 아니면 좌측값 그대로 출력
console.log(null ?? "null 이니까 우측에 있는 항이 출력");
console.log(undefined ?? "undefined 니까 우측에 있는 항이 출력");