S1U5 - loop, function

semin·2023년 4월 20일
0

section 1

목록 보기
8/11
post-thumbnail

UNIT 5 : Javascript 기초

BIL: conditionals

LOOP

코드를 불필요하게 중복해서 작성하지 않아도 컴퓨터가 반복 동작을 수행하도록 함

FOR

사용하는 경우

  • 반복 횟수가 비교적 명확할 때
  • 배열, 문자열 내부를 순회할 때
  • 반복문의 중첩이 필요할 때
//1부터 5까지의 수를 모두 더하는 for

let result = 0;

for (let num = 1; num <= 5; num++) {
  result = result + num;
}

console.log(result);

위 코드의 진행순서를 나열하면

  1. for문 내부에 num 변수 선언 후 초기값 1 할당
  2. 변수 num과 5의 대소 비교
  3. 2의 결과가 true면 코드블록 내부 코드 실행
  4. 변수 num을 1 증가
  5. 2부터 4까지 반복
  6. 2의 결과가 false면 반복문 종료

형식

for (초기값; 조건식; 증감식) {
	// 실행할 코드
}

초기값

증감식 반복 횟수를 카운트하는 역할을 하는 변수
이때 변수는 정수를 의미하는 ‘integer’의 약자인 i를 주로 사용
반복문 코드블록 내에서만 유효

조건식

코드블록 내부의 코드 실행 여부를 결정
true일 경우 코드를 실행, false일 경우 반복문 종료

증감식

코드블록 내부 코드 실행 후 초기값으로 선언된 변수를 증감시키기 위한 표현식

WHILE

조건식 입력 후 조건식 평가결과가 true인 경우 코드블록 내부 코드 반복 실행
while 사용시 무한루프 주의, 조건식이 false로 평가되는 순간이 있는지 확인

사용하는 경우

  • 반복 횟수가 명확하지 않을 때

do…while

while 뒤의 조건식이 true로 평가되는 동안 do 뒤 코드블록 내부 코드 반복 실행
단, 이 경우 do의 코드블록 내부의 코드가 최소 한 번은 실행

do {
	console.log('코드블록 내부의 코드는 최소 한 번은 실행됩니다.') 
	// '코드블록 내부의 코드는 최소 한 번은 실행됩니다.'
} while (false)

FOR || WHILE

초기화, 조건식, 증감식이 모두 필요한 for
조건식 입력 후 평가결과가 true인 경우 코드블록 내부 코드 반복 실행하는 while

for (let num = 0; num < 3; num++) {
	console.log(num); // 0 1 2
}

let num = 0;

// 위아래의 두 코드는 같습니다

while (num < 3) {
	console.log(num); // 0 1 2
	num++
}

conditional && loop

반복 진행 중 특정 조건에 따라 문제를 해결하도록 코드 작성시 복잡한 문제도 해결!

// EX1) 1 ~ 10 중 홀수만 출력

for (let i = 1; i <= 10; i++) {
	if (i % 2 === 1) {
		console.log(i);
	}
}

// EX2) i의 홀짝 여부 확인

for (let i = 1; i <= 10; i++) {
  if (i % 2 === 1) {
    console.log(`${i}는 홀수입니다.`);
  } else {
    console.log(`${i}는 짝수입니다`);
  }
}

NESTED LOOP

실행 순서

  1. 외부 반복문 초기화, 조건식 평가
    1. 내부 반복문 실행
    2. 내부 반복문 초기화 및 조건식 평가
    3. 내부 코드 실행
    4. 증감식, 조건식 평가 반복
    5. 내부 반복문 조건식 평가: false일 때 내부 반복문 종료
  2. 외부 반복문 증감식과 조건식 평가
  3. 외부 반복문 조건식 평가: true일 때 **내부 반복문 순환**
  4. 외부 반복문 조건식: false일 때 모든 반복문 종료

2개의 반복문이 중첩된 경우 이중반복문, 3개의 반복문이 중첩된 경우 삼중반복문

for (let first = 0; first <= 3; first++) {
  for (let second = 0; second <= 3; second++) {
    for (let third = 0; third <= 3; third++) {
      console.log(
        `first는 ${first}, second는 ${second}, third는 ${third}입니다.`
      );
    }
  }
}

FUNCTION

입력받아 코드블록 내부 코드 실행함수 실행결과를 반환하는 과정의 묶음
= 특정한 코드실행 과정을 하나의 묶음으로 묶어서 필요할 때마다 호출하여 실행

  1. 함수 외부에서 특정 입력값 전달해 호출
  2. 함수 호출시 함수 내부 코드 실행
  3. 실행결과는 다시 함수 외부로 return(반환)

함수 정의 방법

함수선언문

변수 선언시의 let처럼, 함수 정의시 function 사용하여 선언

function greeting () { 
	console.log('hello world') 
};

함수표현식

let으로 변수 선언 후 함수를 할당하는 형태표현

let expression = function () {
	console.log('함수표현식');
}

call a function

함수 내부 코드는 함수 호출시 실행

// 함수선언문으로 정의된 함수 호출
function greeting () { 
  console.log('hello world')
};

greeting()

-

// 함수표현식으로 정의된 함수 호출
let greeting = function () {
  console.log('hello world')
};

greeting()

값 전달

매개변수, 전달인자 활용시 함수 외부에서 함수 내부로 값을 전달 가능

function greeting (name) {
	console.log('hello ' + name);
}

'greeting'이라는 함수가 'name'이라는 매개변수를 가지고 있습니다.
현재는 아무것도 할당되어 있지 않으므로 'name'은 'undefined'로 초기화되어 있습니다.
이 매개변수에 값을 할당하려면 전달인자를 사용합니다.

parameter

매개변수: 함수 정의시 소괄호 내부에 추가, 함수 코드 블록에서 변수 취급

argument

전달인자: 함수 호출시 소괄호에 값을 넣어 매개변수에 값을 할당

scope

선언 위치에 따라 결정된 매개변수와 함수 내부에서 선언된 변수의 유효범위

RETURN

함수 외부에서 함수의 결과값을 사용할 수 있도록 함수의 실행결과를 외부로 반환

return의 역할

  1. return 뒤의 코드 미실행
  2. return 코드 실행 후 결과를 함수 외부로 반환
  3. 함수 호출 결과를 변수에 할당 가능
  4. 함수 호출 결과간 연산 가능
1. function add (x, y) {
	return x + y;
	console.log('실행되지 않습니다');
}

2. function add (x, y) {
    return x + y;
 }
console.log(add(3, 2));
 
3. function add (x, y) {
	return x + y;
}
let result = add(3, 2);
console.log(result);

4. function add (x, y) {
	return x + y;
}

let result = add(3, 2) + add(5, 7);
console.log(result);

0개의 댓글

관련 채용 정보