공부/JavaScript

JavaScript기초 3

뀨뿌뀨뿌 2023. 5. 2. 19:13

1.  조건문

ⅰ.  조건문이란?

  • 특정 조건을 만족했을 때만 해당 코드를 실행할 수 있게 하는 구문
  • 어떤 조건이 참인지 거짓인지에 따라 실행 여부를 결정하는 구문

ⅱ. if 

  • if (조건) {
       조건을 만족할 때 실행할 코드(명령문)
    }
  • 조건을 소괄호 ()로 둘러싼 형태를 가지고, 조건문에 의사결정을 할 수 있는 조건문을 작성하면 됨
    -> 조건문의 결과값은 항상 boolean값으로 리턴해야 하며, 결과값이 true일 경우에만 명령문을 실행함
const aPrice = 40000
if (aPrice < 50000) {				  // a의 가격이 50000원보다 작으므로 true를 리턴하여 해당 코드가 실행
  console.log('이 상품을 사겠습니다.') // if문의 body코드
}

const bPrice = 50000
if (bPrice < 50000) {				  // b의 가격이 50000보다 작지않으므로 false를 리턴하여 해당 코드가 실행되지 않음
  console.log('이 상품을 사지 않겠습니다.')
}

ⅲ.  else, else if

  • if (조건) {
       조건을 만족할 때 실행할 코드(명령문)
    } else {
       조건을 만족하지 않을때 실행할 코드
    }
  • if 구문의 조건을 만족하지 않았을 때 실행하고 싶은 코드를 else 구문과 함께 작성함
const aPrice = 50000
if (aPrice < 40000) {
  console.log('이 상품을 구매하겠습니다.')
} else {          // a의 가격이 40000원보다 작지 않으므로 false를 리턴하여 해당 코드가 실행됨
  console.log('이 상품을 구매하지 않겠습니다.')
}
  • if (조건) {
       조건을 만족할 때 실행할 코드(명령문)
    } else if (조건) {
       else if의 조건을 만족할 때 실행할 코드
    }
     else {
       조건을 만족하지 않을때 실행할 코드
    }
  • else if 구문을 활용하면 보다 더 많은 조건을 판단하고 코드를 실행할 수 있음
  • else if를 사용할 땐 바로 옆에 소괄호() 안에 조건을 작성해야 함
const aPrice = 50000
if (aPrice < 40000) {                  // false
  console.log('이 상품을 사겠습니다.')
} else if (aPrice <= 50000)  {         // a의 가격이 50000원보다 작거나 같지 않으므로 true를
  console.log('고민을 해보겠습니다...') // 리턴하여 else if의 body 구문을 반환함
} else {							   // 모든 조건을 만족하지 않을때 실행 
  console.log('이 상품을 사지 않겠습니다.')
}
// 중간에 한번이라도 true를 리턴하면 해당 코드를 실행하고
// 더이상 아래의 코드는 실행하지 않음
// Q. 거리를 의미하는 변수를 선언하고 원하는 값(단위 -> km)을 할당
// 2km 미만이면 '걸어가자'
// 2km 이상이고 5km 미만이면 '택시를 타자'를
// 그 외는 '기차를 타자'를 출력

const distance = 3
if(distance < 2) {
  console.log('걸어가자')
} else if(distance >= 2 && distance < 5) { // &&-> 비교하는 값이 모두 true일 때 true를 반환
  console.log('택시를 타자')				  // true를 반환하여 해당 구문이 실행
} else {
  console.log('기차를 타자')
}
들여 쓰기
- javascript에서 들여 쓰기를 할 때 보통 탭(Tab) 키를 사용함
- if 구문의 body(중괄호 안쪽) 코드를 작성할 때 들여 쓰기를 사용함
- 들여 쓰기는 반드시 하지 않아도 상관없지만 코드의 가독성을 높이기 위해서 사용함

2.  반복문

ⅰ.  반복문이란?

  • 프로그램 내에서 똑같은 명령을 일정 횟수만큼 반복하여 수행하도록 제어하는 실행문
  • 반복문을 활용하면 특정코드가 반복해서 실행하는 것이기 때문에 반복 실행하기 위한 코드를 덜 작성해도 됨
    -> 효율적인 코딩이 가능해짐
  • 조건을 설정해서 원하는 만큼만 반복할 수 있도록 함
  • 프로그램이 처리하는 대부분의 코드는 반복적인 형태가 많으므로, 가장 많이 사용되는 실행문 중 하나

ⅱ.

  • while(조건) {
      조건을 만족할 때 실행할 코드
    }
  • 소괄호 () 안에 조건은 결과값을 true, false를 리턴하고, true를 만족하는 경우에만 중괄호{} 안에 문장들이 실행됨
  • 조건이 false를 리턴하면 더 이상 반복해서 실행하지 않음
let temperature = 20
while (temperature < 25) {   // 25미만이 되면 false를 리턴받아 해당 구문을 중단시킴
  console.log(`${temperature}도 정도면 적당한 온도입니다.`)
  temperature++              // 증감연산자를 활용하여 온도를 변화시킴
}
  • 반복문의 조건에 포함된 변수의 값을 계속 변화시켜 줘서 반복문이 끝날 수 있도록 해야 함
    -> 반복문의 조건이 true를 계속해서 리턴한다면 무한루프에 빠져서 프로그램이 끝나지 않음
        무한루프로 인해 프로그램의 실행이 끝나지 않는다면 ctrl + c를 눌러서 중단시킴

ⅲ.  for

  • for (begin(초기값); condition(조건식); step(어떤 간격으로)) {
       조건을 만족할 때 실행할 코드
    }
  • while문보다 좀 더 명시적으로 반복문의 조건을 표현할 수 있음
  • begin -> 변수를 선언하고 해당 변수에 데이터를 할당하는 부분
  • condidtion -> 조건을 적음
  • step -> 앞서 선언했던 변수에 증감연산자 등을 활용해 값을 변화시키고 조건이 false를 리턴해서 반복문이 끝나게 해주는 역할을 함
  • ;(세미콜론) -> 해당 구문이 끝남을 나타냄
for (let temperature = 20; temperature < 25; temperature++) {
  console.log(`${temperature}도 정도면 적당한 온도입니다.`)
}
// begin -> temperature 변수 선언
// condition -> temperature가 25보다 작은지 연산, 결과값이 true면 계속 실행, false면 종료
// 중괄호 안에 코드가 실행됨
// step -> temperature에 1을 더해서 재할당 후 condition과정부터 다시 반복

3. 반복문과 조건문

ⅰ.  반복문과 조건문

  • 프로그램은 반복분과 조건문의 집합이라고 할 수 있음
  • 입력된 데이터에 대해 조건문을 활용해 수많은 조건으로 분기하고 반복문을 활용해 반복해서 처리하는 게 프로그램이 주로 하는 일
// 1-20까지의 숫자중 홀수인 경우 -> '숫자 ..은 홀수입니다.'
// 짝수인 경우 -> '숫자 ..은 짝수입니다.'를 출력
for (let number = 1 ; number <=20; number++) {
  if(number % 2 === 0) {			// % -> 나머지 연산
    console.log(`숫자 ${number}은 짝수입니다.`)
  } else  {
    console.log(`숫자 ${number}은 홀수 입니다.`)
  }
}

4. 함수

ⅰ.  함수란?

  • 특정 작업을 수행하는 코드의 집합
const aPrice = 1000
const bPrice = 2000
// 두 상품가격의 합과 평균을 구해서 출력
const sum1 = aPrice + bPrice
const avg1 = sum1 / 2
console.log(`두 상품의 합은 ${sum1}이고, 평균은 ${avg1}입니다.`)

const cPrice = 3000
const dPrcie = 4000
// 두 상품가격의 합과 평균을 구해서 출력하려면 위와 동일한 코드를 작성
const sum2 = cPrice + dPrice
const avg2 = sum2 / 2
console.log(`두 상품의 합은 ${sum2}이고, 평균은 ${avg2}입니다.`)
  • 한두 번 작성하는 것은 괜찮지만 수십, 수백 번씩 작성하는 것은 비효율적이기 때문에 특정 작업을 수행해야 한다면 그 코드 자체를 어디에 만들어서 저장해 놓고 사용하기 위한 것이 바로 함수임
  • 많은 양의 코드를 연관 있는 것끼리 정리해서 함수로 만들면 코드를 보기 좋게 정리할 수 있고 반복 사용하는 코드를 함수로 만들어 필요할 때마다 호출할 수 있음
    -> 중복 코드를 줄이고, 코드의 재사용이라는 장점이 있음

ⅱ. 함수의 선언과 호출

  • 함수의 선언
    • 변수를 선언하고 해당 변수에 값을 할당했던 것처럼, 함수도 선언을 하고 해당 함수가 실행할 코드의 집합을 만들어 저장
    • function 함수명(매개변수 목록) {
         이 함수에서 실행할 코드
         return 반환값
      }
    • 함수명 -> 변수가 데이터를 대표하는 이름처럼 함수가 하는 일을 대표하는 이름으로 작성
    • 매개변수(parameter) -> 해당 함수의 바디에 있는 코드에서 사용할 수 있는 일종의 변수, 
                                            함수 호출 시 전달하게 되는 함수를 실행하기 위해서 필요한 일종의 input
    • {} 중괄호 안 -> 이 함수가 해야 할 일들을 코드로 작성 후, 반환해야 할 값을 명시함
// 함수 선언
funtion calculateAvg(price1, price2){
  const sum = price1 + price2		// 매개변수를 변수처럼 활용함
  console.log(`두 상품의 합계는 ${sum}입니다.`)
  const avg = sum / 2
  return avg			// 평균가격을 반환
}
  • 함수 호출
    • 함수를 선언하고 호출하지 않으면 아무 일도 일어나지 않고 실제로 함수를 사용하기 위해서는 호출을 해야 함
    • const 변수명 = 선언한 함수명(매개변수 목록)
    • 함수는 어떠한 값을 반환하는데 이를 대입 연산자를 활용해서 어떤 변수에 함수가 반환한 값을 할당하면 됨
const aPrice = 1000
const bPrice = 2000
// 함수 호출
const avg1 = calculateAvg(aPrice, bPrice)
// 함수의 매개변수로 aPrice, bPrice를 전달함
// -> aPrcie와 bPrcie에 할당되어 있는 데이터가 
// 실제함수 안에 있는 price1, price2에 다시 할당되는 것과 같음
console.log(`두 상품의 평균은 ${avg1}입니다.`)

const cPrice = 3000
const dPrice = 4000
// 함수 호출
const avg2 = calculateAvg(cPrice, dPrice)
console.log(`두 상품의 평균은 ${avg2}입니다.`)
  • 위에 함수 호출 시 코드의 흐름
    • 함수 calculateAvg를 호출하면서 변수 aPrice, bPrice를 매개변수로 전달함
    • 함수 calculateAvg의 바디 코드가 실행됨
      위에서 전달한 매개변수의 값이 함수를 선언할 때 썼던 매개변수명인 price1, price2에 할당되었다고 보면 됨
    • 함수의 바디 코드가 변수 avg를 리턴하고 있고, 이것이 변수 avg1에 할당됨
// Q. 세 개의 물건가격을 매개변수로 전달받아 평균값을 리턴하는 함수를 정의
// 함수를 호출해서 평균값을 출력

funtion calculateAvg(price1, price2, price3) {
  const avg = (price1 + price2 + price3) / 3
  return avg
}

const aPrice = 100
const bPrice = 200
const cPrice = 300
const avg1 = calculateAvg(aPrice, bPrice, cPrice)
cosole.log(`평균가격: ${avg1}`)
매개변수의 개수
- 매개변수의 개수는 원하는 만큼 늘어날 수 있지만 매개 변수가 너무 많이 늘어나면 코딩을 하면서 인지하기 힘들기 때문에 한계를 두고 인지할 수 있을 만큼만 사용하는 게 좋음

'공부 > JavaScript' 카테고리의 다른 글

JavaScript 문법 종합 1주차(2)  (0) 2023.05.24
JavaScript 문법 종합 1주차(1)  (0) 2023.05.23
JavaScript 기초4  (0) 2023.05.03
JavaScript기초 2  (0) 2023.04.28
JavaScript 기초1  (0) 2023.04.06