배열에 루프를 실행하면서 루프 바디에서 배열을 수정하는건 위험할 수 있다. 뜻하지 않게 종료 조건을 바꿀수도 있으니까 이런 경우 널리쓰이는 패턴은 감소하는 인덱스를 써서 배열 마지막 요소에서 루프를 시작하는 방법이다. 이렇게 하면 배열에 요소를 추가하거나 제거해도 종료 조건이 바뀌는 일은 없다. for(let i=0; i= 0; i--){ if(isPrime(bigArrayOfNumbers[i) bigArrayOfNumbers.splice(i,1); }
원시타입 문자형(String) 숫자형(Number) 논리형(Boolean) undefined null 심볼(Symbol) 객체타입 자바스크립트에는 문자열,숫자,불리언,null,undefined, 심볼의 여섯가지 원시타입과 객체타입이 있다. 자바스크립트의 모든 숫자는 배정도 부동소수점 숫자(더블)입니다. 배열은 특수한 객체이며 객체와 마찬가지로 매우 강력하고 유연한 데이터 타입입니다. 날짜,맵,셋,정규표현식 등 자주 사용할 다른 데이터 타입들은 특수한 객체 타입입니다.

간단한 시나리오를 만들어 비동기 처리하는 법을 정리하고자 한다. (에러 처리부분은 빠짐) 시나리오: 음료를 고른다음 결제를 한다음 기다렸다가 음료를 받는다. 음료선택 -> 결제 -> 음료 받기 사이사이에 대기시간 있다. 커피 문제 실행결과 콜백으로 해결 function generateRanNum(){ return Math.floor(Math.random()*(5000-500+1)) + 500; } function coffeeSelect(coffee,callbackFunc){ var spendTime = generateRanNum() setTimeout(function(){ document.getElementById("text").innerHTML += coffee +" 선택!(1) / 소요시간: ${sp..