[JavaScript] 조건문, 반복문(forEach / for...in / for...of)과 문자열 처리

2019. 2. 15. 19:29JavaScript

자바스크립트에서 for문이나 while문으로 반복문을 구현할 수 있습니다. 


조건문

조건문을 표현하는 방법을 좀 살펴봅시다.

1. 가장 일반적인 표현. block을 이용한 표현

if(true){


}else{


}


2. 한줄로 브레이스 없이, block없이 코딩하는 경우

if(true) console.log(true)


3. 삼항연산자

const val = true

const result = (val) ? 'true' : 'false';


console.log(result);


반복문

일반적인 for문을 이용해서 반복문을 구현합니다. 

const arr = [1,2,3,4];

for(var i=0; i< arr.length; i++){

console.log(i);

}


forEach


forEach는 Array에서만 사용할 수 있는 메서드입니다. forEach를 통해서 배열 요소들의 반복 작업을 수행할 수 있습니다.

forEach는 인자로 콜백함수를 등록할 수 있고, 배열의 각 요소들이 반복될 때 이 콜백함수가 호출됩니다. 콜백함수에서 배열 요소의 index와 value에 접근할 수 있습니다

var items = ['item1', 'item2', 'item3'];

items.forEach(function(item){

console.log(item);

});


// 결과는 item1,item2,item3가 콘솔에 출력되는 걸 확인할 수 있습니다.



for...in 반복문

 객체(object)를 탐색할 때 사용하는 반복문입니다. for...in문은 object의 key값에 접근할 수 있지만 value 값에 접근하는 방법은 제공되지 않습니다. 자바스크립트에서 object 속성들은 내부적으로 사용하는 숨겨진 속성 중 Enumable(열거 가능한)이라는 속성이 있습니다. 반복문은 이 Enumable 속성은 반복되지만 object 내의 함수나 프로퍼티 같은 비열거형 속성은 루프에서 반복되지 않고 제외됩니다.

var user = {

id: 'myID',

name: 'myName',

password: 'myPassword'

}


for(var attr in user) {

console.log(attr); // id , name , password 가 출력된다.(key값)

console.log(user[attr]); // myID, myName, myPassword가 출력된다.

}




for...of 반복문


es6에 추가된 반복문입니다. iterable Object를 반복 처리합니다. 이 역시도 Enumable한 속성이 대상입니다 String, array, TypedArray, Map, Set은 모두 내장으로 iterator() 메소드를 가지고 있어서 for...of 반복문을 사용할 수 있습니다. 하지만 이터러블 객체가 아닌 그냥 선언한 객체는 for...of를 사용할 수 없습니다.

var iterable = [10, 20, 30];


for(var value of iterable) {

console.log(value) // 10, 20, 30 출력.

}




문자열 처리


String을 가공해서 사용할 일이 생길 수 있습니다.  그럴 경우엔 String 처리하는 메소드를 MDN에서 참조하면서 공부하면 좋습니다.

'a/b/c/d'.split('/');     // ['a','b','c','d'] 가 출력됩니다. /를 split 기준으로 쪼개줍니다..trim

'ab:cd'.replace(':', '!!')     // 'ab!!cd'

' abcde '.tirm();   // 'abcde'




[ edwith - 웹프로그래밍 부스트고스 ] 를 개인적으로 공부하고 정리한 공간입니다. 잘못된 부분은 피드백 주시면 감사하겠습니다 :