챕터5-1 함수
function () {}
함수를 출력할 때 이름이 붙지 않는다
const 함수 = function () {
console.log('함수 내부의 코드입니다...1')
console.log('함수 내부의 코드입니다...2')
console.log('함수 내부의 코드입니다...3')
console.log('')
}
함수()
console.log(함수)
//함수를 출력하면 함수에 이름이 붙지 않는다
**ƒ (){
console.log('함수 내부의 코드입니다...1')
console.log('함수 내부의 코드입니다...2')
console.log('함수 내부의 코드입니다...3')
console.log('')
}**
함수를 출력하면 이름이 붙는다
function 함수 () {
console.log('함수 내부의 코드입니다...1')
console.log('함수 내부의 코드입니다...2')
console.log('함수 내부의 코드입니다...3')
console.log('')
}
함수()
console.log(함수)
//함수를 출력하면 함수에 '함수'라는 이름이 붙는다
**ƒ (함수){
console.log('함수 내부의 코드입니다...1')
console.log('함수 내부의 코드입니다...2')
console.log('함수 내부의 코드입니다...3')
console.log('')
}**
function 함수 (매개변수){
let output = 초기 값
코드가 처리 된다
return output
}
최소 값 구하기
// 함수 min 으로 선헌하기 매개변수에 배열 넣어 주기
function min (array){
// 초기 값은 배열의 0번째 인덱스
let output = array[0]
// for of 반복문 사용하여 items안에 item(요소)과 output을 하나씩 비교해본다
// item이 output 보다 작으면 output= item (최소값) 으로 선언한다
// 배열에 마지막 요소 까지 비교해서 최종적으로 최소값을 리턴한다
for (const item of array) {
if (output > item) {
output= item
}
}
//최소값을 리턴한다
return output
}
const inputArray = [10,3,5,2,1]
console.log(min(inputArray))
> 1
// min의 매개변수는 53, 40,1,-3,100인데 이걸 매개변수를 하나씩 찍어주기 귀찬다
// min(...items) 라고하면 매개변수들이 items라는 배열안에 들어간다
function min(...items){
// 배열의 첫번쩨 인덱스를 최초 값으로 정한다
let output = items[0] //53 이 최초값이 된다
// output과 배열안에 있는 요소를 비교하기위한 for of 반복문 사용
for (const item of items){
// 53과 40 비교했을때 40이 더 작다, 그러니까 40이 outputd이 된다, 마지막 요소까지 비교해서 최소값을 구한다
if (output > item){
output = item
}
}
// -3가 최소값이 된다
return output
}
console.log(min(53,40,1,-3,100))
> -3
전개 연산자를 사용하지 않는 경우 배열이 매개변수로 들어온다
전개 연산자를 사용하는 경우 숫자가 하나하나 전개되어 매개변수로 들어 온다
//매개변수를 모두 출력하는 함수
function sample(...items){
console.log(items)
}
const array= [1,2,3,4]
console.log(sample(array)) //전개연산자를 사용 하지 않을 때 [Array(4)] 또는 [[1,2,3,4,]]
console.log(sample(...array)) // 전개연사잔 사용 할때 [1,2,3,4]
매개변수의 자료형에 따라 다르게 작동하는 min () 함수 이해하기가 어려웠다.
function min(first...rests){
//최소값 구하기 for of 반복문을 함수를 사용하기 위해 output과 items 변수 선언해준다
let output
let items
// 매개변수의 자료형에 따라 조건 분기하기
// 매개변수의 자료형이 배열이면, 0번째 인덱스 값을 아웃풋이라고 한다. output=100
if (Array.isArray(first)){
output=first[0]
items= first // items는 배열이 된다 [100,30,1,34] if 조건이 true기 때문에 최소값을 찾는 함수로 넘어간다
} else if (typeof(first) === 'number'){
//first의 자료형이 숫자면, first 매개변수 100을 최초값 output으로 선언한다
// ...rests는 배열이 되기 때문에 나머지 매개변수가 items에 들어간다 [30,1,34]
// else if 조건에 맞춰 최소값을 처리한다
output= first
items= rests
}
// 최소값 구하는 반복문 사용
for (const item of items){
if (output > item) {
output = item
}
}
//최소값 추출
return output
}
console.log (`배열: ${min([100,30,1,34])}`) // 배열: 1
console.log (`숫자: ${min(100,30,1,34)}`) // 숫자: 1