JavaScript
[JavaScript] - 비교문 / 분기문 / 반복문 / 문자열
by nam_ji
2023. 10. 25.
자바스크립트의 비교문, 분기문, 반복문, 문자열이란
1. 비교문
- if, else if, else 문을 통해서 다양한 비교문을 사용할 수 있습니다.
if(true) console.log(true)
else console.log(false)
// 삼항 연산자
var a = true;
var result = (a) ? "ok" : "not ok";
console.log(result); // ok
a = "";
var result = (a) ? "ok" : "not ok";
console.log(result); // not ok
뮩2. 분기문
- 로직을 분기하기 위해서 if문 이외에도 switch문을 통해서도 해결할 수 있습니다.
3. 반복문
- for문이나 while문을 사용해서 반복문을 구현할 수 있습니다.
function howMany(selectObject) {
var numberSelected = 0;
for (var i = 0; i < selectObject.options.length; i++) { // 비효율적 (배열의 길이를 계속 계산)
if (selectObject.options[i].selected) {
numberSelected++;
}
}
return numberSelected;
}
- 배열의 경우 forEach와 같은 메소드도 있고, for-of를 통한 탐색도 자주 사용됩니다.
- for문의 성능 개선
- 배열의 길이 한 번만 계산
- for (var i = 0; len = selectObject.options.length; i < len; i++)
- Reverse Iteration
- for (var len = selectObject.option.length; i = len; i > len; i--)
- 시작 포인트를 배열의 길이로 하고, 포인트 값을 감소하면서 반복문을 도는 형태
- 반복문을 동작시키는 (reverse iteration) 경우가 실제 브라우저에서 얼마나 성능 차이가 있을지에 대해서 설명해 드리겠습니다.
- 현대의 자바스크립트 엔진은 최적화를 통해 반복문을 최대한 빠르게 처리하는 과정을 거쳐 왔기 때문에 실제로 실험을 해보면 그 차이가 미미합니다.
- 따라서 for문을 무조건 반대로 구현할 필요는 없습니다.
- 이런 상황 이외에도 자바스크립트의 구현 방법에 따라 (for가 빠를지 while이 빠를지 등) 성능 차이는 크지 않습니다.
- 따라서 일반적으로 코드의 가독성에 좀 더 우선 집중하는 것이 좋습니다.
4. 문자열
- 자바스크립트의 문자와 문자열은 같은 타입으로 모두 문자열입니다.
typeof "abc"; // string
typeof "a"; // string
typeof 'a'; // string. single quote도 사용가능.
"ab:cd".split(":"); // ["ab","cd"]
"ab:cd".replace(":", "$"); // "ab$cd"
" abcde ".trim(); // "abcde"