자바스크립트 함수

한재창·2022년 10월 24일
0

함수

i) 코드의 재사용 가능한 일부로서 언제든 사용할 수 있도록 이름을 붙여놓은 것
ii) 코드의 중복을 줄이는 데 무척 유용하고 코드를 더 읽기 쉽고 이해하기 쉽게 만듬
iii) 함수를 등록하거나 정의했다 해서 바로 실행되는 것이 아님
iv) 실행 방법

function singSong() {
  console.log("DO")
  console.log("RE")
  console.log("ME") 
}
singSong(); // 실행 (여러번도 가능함)

! 함수를 정의한 다음에 실행하는 것을 습관화하는 것이 좋음

- 인수

  1. 함수에 입력하는 값
  2. 함수의 () 안에 변수를 넣음, 이것을 매개변수라고 함
  3. 식별 능력이 없어 받은 값을 그대로 저장할 뿐
  4. 실행할 때 () 안에 넣는 값이 인수임
function greet(firstName, lastName) {
	console.log(`Hey there, ${firstName} ${lastname[0]}.`)
}

greet("Jack", "Daniel")
Hey there, Jack D.

// 한 줄에 여러번 출력하기
function repeat(str, numTimes) {
  let result = '';
  for(let i < 0; i < numTimes.length; i++) {
    result += str;
  }
  console.log(result)
}
repeat("$", 5)
$$$$$

- return

  1. return을 사용하면 함수의 값을 얻을 수 있고 그것을 저장하고 캡처할 수 있음
  2. return은 하나의 값만 구할 수 있음
  3. return이 있는 줄이 실행되면 함수가 중단됨
function isShortsWeather (temperature) {
    if (temperature >= 75) {
        return true
    } else {
        return false
    }
}
isShortsWeather(75)
true // true가 실행되었으므로 함수가 중단되고 false 실행되지 않음
  • 연습문제
// []의 마지막 숫자만 반환, []일 때에는 null 반환
function lastElement(arr) {
    if (arr.length === 0) {
        return null;
    } else {
        return arr[arr.length - 1];
        // return arr.slice(-1)[0]
        // return arr.at(-1); ==> 사용 시 주의 필요
    }
}
console.log(lastElement([3, 5, 7])); // 7
console.log(lastElement([1])); // 1
console.log(lastElement([])); // null

// 첫 글자만 대문자로 바꾸기
function capitalize (str) {
    let transStr = str[0].toUpperCase() // 문자열 첫번째 글자만 대문자로 바꾸기
    let deleteStr = str.replace(str[0], "") // 원래 있던 첫번째 소문자 삭제하기
    return transStr + deleteStr
}

// 배열에 있는 숫자 더하기
function sumArray(arr) {  
    let total = 0;
    for (let i = 0; i < arr.length; i++) {
        // i가 0일 때, i가 배열의 최대 크기보다 작다면 i는 1만큼 증가한다 (i = i + 1)
        // 즉 i는 증감을 1에서 부터 배열의 최대 크기까지 <반복>
        total += arr[i] // 배열의 1부터 배열의 최대크기까지 접근하여 전부 더하고 그것을 total에 할당
    } return total;
}

// 요일 구하기
let weekend = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"];
function returnDay(day) {
  if (0 >= day || 7 < day) {
    return null;
  } else {
    return day = weekend[day - 1];
  }
}
returnDay(1) // "Monday"
returnDay(7) // "Sunday"
profile
취준 개발자

0개의 댓글

관련 채용 정보