언어별 학습 자료/Javascript
"# JavaScript 30" 강의 - 12. Key Sequence Detection
CarpediemMementomori
2020. 10. 20. 13:18
학습일자
2020.10.20
학습내용
- 일정 키의 연속 패턴을 입력했을 때, 어떤 이벤트가 발생하도록 하는 내용( ex> 게임 기술 동작)
알게된 점
- '.join'은 배열 원소 텍스트를 하나의 텍스트로 묶어주는 것이고, '.concat'은 2이상의 배열을 하나의 배열로 묶어주는 것임
- '.splice(시작점 인덱스, 개수)'에서 시작점이 음수인 경우 배열의 끝에서부터 요소를 세어나감 (원점 -1, 즉 -n이면 요소 끝의 n번째 요소를 가리키며 array.length - n번째 인덱스와 같음). 값의 절대값이 배열의 길이 보다 큰 경우 0으로 설정
- .'splice'는 제거된 배열이 아니라, 제거한 배열을 반환함. 잘리고 남은 배열에는 제거된 나머지 요소들의 배열이 남음.
- 음수인 경우, 맨 마지막이 -1이 되고, 숫자 카운트는 오른쪽 -> 왼쪽방향으로 세어가며 제거하므로, length -1이 되어야 함. (약간 헷갈림- 유의)
const pressed = [];
const secretCode = 'wesbos';
window.addEventListener('keyup', (e) => {
console.log(e.key);
pressed.push(e.key);
pressed.splice(-secretCode.length - 1, pressed.length - secretCode.length);
if (pressed.join('').includes(secretCode)) {
console.log('DING DING!');
cornify_add();
}
console.log(pressed);
});
