스터디/개인스터디
#003 자바스크립트 200제 - 조건문,반복문
d0201d
2020. 12. 6. 00:49
조건문 - if, else if, else
var number = 2;
if (number == 1) {
console.log('number is 1');
} else if (number == 2) {
console.log('number is 2')
} else if (number == 3) {
console.log('number is 3')
} else {
console.log('number는 1,2,3 중 해당하는 것이 없음');
}
//number is 2
조건문 - switch
var subject = '자바스크립트';
switch(subject) { //switch(표현식) {
case 'C언어' : //case 값1 :
console.log('C++ 200제'); //명령문1
break; //break;
case '자바스크립트' : //case 값2 :
console.log('자바스크립트 200제'); //명령문2
break; //break;
case '파이썬' :
console.log('파이썬 200제');
break;
default: //default :
console.log('셋다 아닙니다.') // 명령문4
}
//자바스크립트 200제
- if 조건문을 사용하여 여러 조건문들이 중첩되어 복잡해 보이는 것을 switch를 사용해 정돈된 코드를 만들수 있음
- switch 표현식은 case의 값과 일치여부를 확인 (일치연산자 사용 ===)
- 위에서부터 순차적으로 일치하는 값이 나올때까지 case를 확인하며 일치하면 명령문을 실행
- 만약 일치하는 값이 없을경우 default로 선언된 명령문이 실행됨
반복문 - for
for (var i = 0; i < 10; i++) { //초기값; 조건식; 어떤간격으로값이 변하는지;
console.log(i + '번째 반복문장입니다.')
}
//0번째 반복문장입니다.
//1번째 반복문장입니다.
//2번째 반복문장입니다.
//3번째 반복문장입니다.
//4번째 반복문장입니다.
//5번째 반복문장입니다.
//6번째 반복문장입니다.
//7번째 반복문장입니다.
//8번째 반복문장입니다.
//9번째 반복문장입니다.
ex)
var hometown = [
{ name: '남준', place: '일산', city: '고양' },
{ name: '진', place: '과천' },
{ name: '호석', place: '광주', city: '전라도' },
{ name: '지민', place: '부산', city: '경상도' }
];
for (var i = 0; i < hometown.length; i++) {
var h = hometown[i];
if (!h || !h.city) { // h 개체속성중에서 진은 city속성이 없기때문에 조건을 만족하여
continue; // continue가 실행됨(배열에서 가져온 요소중 정보가 없는경우 다음순서로 넘김)
}
console.log(i + '번째 실행입니다.');
if (h.name === '호석') {
console.log(h.name + '의 고향은' + h.city + '' + h.place + '입니다.');
break;
}
}
//0번째 실행입니다.
//2번째 실행입니다.
//호석의 고향은전라도광주입니다.
반복문 - for in
var store = {snack:1000, flower:5000, beverage:2000}; //변수에 객체 값 할당.
//for (속성명 in 반복할 대상) {}
for (var item in store) { //store에 접근할 변수 생성(item)
if(!store.hasOwnProperty(item)) { //hasOwnProperty를 이용하여 store객체에 item키 정보가 있는지 확인
continue //없으면 실행
}
console.log( item +'는 가격이 ' + store[item] + '입니다.')
}
//snack는 가격이 1000입니다.
//flower는 가격이 5000입니다.
//beverage는 가격이 2000입니다.
- 내부 요소 정보가 전달되어 코드가 실행됨
- for in 반복문을 사용할때는 hasOwnProperty를 사용하여 객체안에 속성이있는지 한번더 체크하는것을 권장
반복문 - while
- 조건식의 결과값은 true or false만 반환하며 조건식이 true를 만족하는 경우에만 실행
while(조건식) {
반복하게 될 문장
}
반복문 - do while
- 처음 조건결과와 상관없이 무조건 문장을 실행(1번 이상은 ) 그 후 조건식의 결과값을 확인하고 그 후 흐름은 while과 동일
do {
반복하게 될 문장
} while (조건식)
ex)
var hometown = [ // 변수를 선언하고 변수에 배열 할당
{ name: '남준', place: '일산', city: '고양' },
{ name: '진', place: '과천' },
{ name: '호석', place: '광주', city: '전라도' },
{ name: '지민', place: '부산', city: '경상도' }
];
var isHometown = function(h, name) { //h, name(인자값)을 받는 isHometown 함수선언
console.log(`함수가 실행되었습니다. ${h.city} 도시에서 ${name}을 찾습니다. `)
if (h.name === name) { //참인 경우만 실행
console.log(`${h.name} 의 고향은 ${h.city} ${h.place} 입니다.`)
return true;
}
return false; //거짓일 경우 false를 반환하며 함수종료
}
var h;
while (h = hometown.shift()) { //shift:배열의 앞에서부터 값을 하나씩 빼오는 함수
if (!h.name || !h.place || !h.city) {
continue;
}
var result = isHometown(h, '호석');
if (result) {
break;
}
}
var i = 0;
var names = ['남준', '정국', '윤기', '호섭'];
var cities = ['경기', '부산', '대구', '광주'];
do {
hometown[i] = { name: names[i], city: cities[i] };
i++;
} while (i < 4);
console.log(hometown);
//함수가 실행되었습니다. 고양 도시에서 호석을 찾습니다.
//함수가 실행되었습니다. 전라도 도시에서 호석을 찾습니다.
//호석 의 고향은 전라도 광주 입니다.
//0: {name: "남준", city: "경기"}
//1: {name: "정국", city: "부산"}
//2: {name: "윤기", city: "대구"}
//3: {name: "호섭", city: "광주"}
- shift:배열의 앞에서부터 값을 하나씩 빼오는 함수. 예를들어 [1,2]배열에 shift가 실행되어 1이 방출되면 배열은 [2]가 됨