let i = 0;
while(++i < 5) console.log(i); // 1 2 3 4
```
i 를 먼저 증가시키고 새로운 값 반환하고 5와 비교할 때는 증가 이후의 값과 비교
let i = 0;
while(i++ < 5) console.log(i); // 1 2 3 4 5
```
i 를 증가시키긴 하지만 기존값을 반환하고 5와 비교할 때는 4와 비교 후 마지막 값은 증가된 새로운 값으로 출력
replaceAll
reaplce
replace(searchvalue, newvalue)
문자열 내 처음으로 발견된 searchvalue만 newvalue로 변경됨
=> replaceAll
과 같은 함수로 쓰이려면 정규식 이용하여야 함
/searchvalue/ : '/ /' 사이에 검색할 문자 입력
g : 전역 검색 (Global search)
i : 대/소문자 구분 무시 (Case-insensitiv search)
m : 여러 줄 검색 (Multi-line search)
slice
substr
substring
substr(start, length)
: start index 부터 length길이만큼 (start index ~ start index + length)
substring(start, end)
slice(start, end)
: start index부터 last index-1 까지
🚨 substring
과 slice
의 차이
str = 'apple';
str[0] = 'b';
console.log(str); // 'apple'
str = 'banana';
console.log(str); // 'banana'
재할당은 가능하나 기존값을 바꿀 수는 없다
function isPrime(num){
//소수라면 true, 소수가 아니라면 false 반환
if (num === 1) return false;
//1은 예외적으로 소수가 아니므로 false 반환
for(let i = 2; i < num ; i++){
//소수는 1과 자기 자신을 약수로 하기 때문에
//1과 자기 자신을 제외한 부분의 수로 i 설정
if(num % i === 0) return false;
//i로 나누어 질 경우 = i가 약수임을 증명하는 것임으로 false 반환
}
return true;
//for문을 빠져나온 경우는 for문 안 if문을 거치지 않았다는 것이므로 true 반환
}
function isPrime(num){
if(num === 1) return false;
if(num % 2 === 0 ) return num === 2 ? true: false;
//예외처리, 2는 유일한 짝수 소수이다.
for(let i = 3 ; i <= parseInt(Math.sprt(num)) ; i += 2){//2는 제외되었으니 3부터 √num 까지 +2씩 하여 홀수 중 소수를 판별!
if(num % i === 0) return false;
}
return true;
}