220802(화)
🪴 성장일지
책 행복한 이기주의자(웨인 다이어)
의 내용에 자극받아 시작하는 소박한 성장기록
살아있는 꽃과 죽은 꽃은 어떻게 구별하는가?<br/> 성장하고 있는 것이 살아 있는 것이다.<br/> 생명의 유일한 증거는 성장이다!
🌳 키워드
BigInt 자료형
- 길이에 상관없이 정수를 나타낼 수 있습니다.
-(2e53 - 1)에서 (2e53 - 1)까지
외의 값들을 표현 가능
// 끝에 n을 붙여 표현 const bigInt = 1234567890123456789012345678901234567890n;
typeof 특이사항
typeof Math; // "object" (1) typeof null; // "object" (2) typeof alert; // "function" (3)
- Math는 수학 연산을 제공하는 내장 객체이기 때문
- null은 본래 null이라는 본연의 자료값이 있지만, 과거의 오류로 객체로 나옴. 하위 호환성 문제로 그대로 남겨둠.
- alert가 함수는 맞지만, 함수의 자료형은 객체. 이도 마찬가지로 과거의 오류이며 하위 호환성 문제로 그대로 남겨둠.(오히려 실무에서 유용하게 사용되기도 함)
setInterval과 setTimeout을 멈추는 방법(feat.아이디)
아이디는 타이머에 대한 반환값으로 이 값을 통해 타이머를 취소할 수 있음.(반드시 같은 함수여야함)<br/> 단, setTimeout의 경우 비동기 함수가 종료되기 전에 취소를 해야 의미가 있음.
let 아이디 = setInterval(함수, 밀리초); clearInterval(아이디); let 아이디 = setTimeout(함수, 밀리초); clearTimeout(아이디);
addEventListener와 removeEventListener
이벤트를 등록할 때의 함수와 이벤트를 제거할 때의 함수는 반드시 같은 함수여야함.<br/> 고차함수인 경우가 헷갈리게 되는데, 함수는 참조형 변수이기 때문
const test = (value) => () { console.log('고차함수', value); } 태그.addEventListener('click', test(1)); // 이벤트를 없앨 때, 틀린 예시 태그.removeEventListener('click', test(1)); // test(1) !== test(1)이기 때문! 같은 함수가 아님! //해결법 const test1 = test(1); 태그.addEventListener('click', test1); 태그.removeEventListener('click', test1);
flag 변수
마치 깃발을 꽂았다 빼는 거 같은 역할을 하여 붙여진 이름
let clickable = true; const clickBtn = () => { if (clickable) { 어쩌구 저쩌구 clickable = false; } 어쩌구 저쩌구 clickable = true; } // flag 변수가 true, false값을 왔다갔다하며 특정 이벤트 발생을 조율하는 식으로 사용
undefined