본문 바로가기
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-in은 객체를 탐색할 때 사용됩니다.
  • for문의 성능 개선
    1. 배열의 길이 한 번만 계산
      • for (var i = 0; len = selectObject.options.length; i < len; i++)
    2. 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"