비교문
if, else if, else를 통해서 다양한 비교문을 사용할 수 있다.
1 2 3 4 5 6 7 8 9 | if (condition_1) { statement_1; } else if (condition_2) { statement_2; } else if (condition_n) { statement_n; } else { statement_last; } | cs |
변수 b의 경우 boolean값 false가 아닌 Boolean 객체에 해당하므로 true를 의미한다.
1 2 | var b = new Boolean(false); if (b) // this condition evaluates to true | cs |
※ false로 취급되는 값
false
undefined
null
0
NaN
""(empty string)
분기문 - switch
주어진 값과 일치하는 case절을 찾고 해당 구문을 수행한다.
매치되는 case가 없다면 default절을 수행한다.
1 2 3 4 5 6 7 8 9 10 11 12 | switch (expression) { case label_1: statements_1 [break;] case label_2: statements_2 [break;] ... default: statements_def [break;] } | cs |
반복문
for문이나 while문을 사용해서 반복문을 구현할 수 있다.
1 2 3 4 5 6 7 8 9 | function howMany(selectObject) { var numberSelected = 0; for (var i 0; i<selectObject.options.length; i++) { if (selectObject.options[i].selected) { numberSelected++; } } return numberSelected; } | cs |
반복문이 수행되는 동안 length가 계속해서 구해져야 하므로 아래와 같이 길이에 해당하는 변수를 먼저 선언해주거나
1 | for (var i=0, len=selectObject.options.length; i<len; i++) | cs |
1 | for (var i=selectObject.options.length; i>0; i--) | cs |
배열의 경우 forEach와 같은 메서드도 있고, for-of를 통한 탐색도 자주 사용된다.(for-in은 객체를 탐색할 때 사용된다.)
1 2 3 4 5 6 7 8 9 10 | let arr = [3, 5, 7]; arr.foo = "hello"; for (let i in arr) { console.log(i); // logs "0", "1", "2", "foo" } for (let i of arr) { console.log(i); // logs "3", "5", "7" } | cs |
문자열 처리
자바스크립트의 문자와 문자열은 같은 타입이다. 모두 문자열.
1 2 3 | typeof "abc"; //string typeof "a"; //string typeof 'a'; //string. single quote도 사용가능. | cs |
1 2 3 | "ab:cd".split(":"); //["ab","cd"] "ab:cd".replace(":", "$"); //"ab$cd" " abcde ".trim(); //"abcde" | cs |
split 메서드는 배열로 만들어주는 역할을 한다. 구분자를 지정해주지 않으면 모든 문자로 나누어진다.
1 2 3 | var result = "ab:cd".split(""); console.log(result); // ['a', 'b', ':', 'c', 'd'] console.log(toString.call(result)); // [object Array] | cs |
참고자료
https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Loops_and_iteration#for...in_%EB%AC%B8
'Web > JavaScript' 카테고리의 다른 글
[JavaScript] DOM(querySelector) (0) | 2018.12.02 |
---|---|
[JavaScript] window객체(setTimeout) (0) | 2018.12.02 |
[JavaScript] 함수호출 스택 (0) | 2018.12.01 |
[JavaScript] 함수 (0) | 2018.12.01 |
[JavaScript] 변수/연산자/타입 (0) | 2018.11.27 |