Programming Language/Javascript
[Javascript]함수
seong's log
2024. 1. 11. 01:04
- '호출될 수 있는 코드 조각'
- 함수를 호출해야 사용가능
- 함수 호출시 반드시 함수명 뒤에 소괄호()
- 함수 안에서 선언한 변수는 함수 안에서만 사용 가능
- 선언식은 함수 정의보다 호출문을 앞서 작성 가능, 표현식은 불가
const 함수명 = function(){ //함수명이 없는 함수에 함수명을 따로 붙임
//함수의 기능을 표현한 구문
}
=> 선언 후, 함수명은 중괄호 안의 기능 대신 사용 가능
const sayHello = function(){
let number = 3 + 3
console.log(number)
}
sayHello() //함수 호출!
=> 함수 호출 시, 함수의 이름 뒤 반드시 소괄호!!
함수명 규칙
- 함수의 기능을 적절하게 표현할 수 있는 이름을 사용
-명사보다는 동사로 된 이름을 사용(기능이기 때문)
- 소문자로 시작, 여러 단어가 섞인 경우 카멜표기법 사용
let number = 3;
let myNumber = 5; //카멜표기법
sayHello() //함수 호출문이 선언문보다 위에 있어도 에러발생하지 않음
//sayBye() -> 에러발생 => 함수가 선언되기 전에 호출했기 때문
function sayHello(){ //함수 선언식 -> 함수의 이름이 있음
console.log("Hello")
console.log("Hi")
console.log("안녕")
let hello = "문자열 헬로우"
console.log(hello) //함수 내부에서 선언된 변수는 함수 밖에서 사용 불가 -> 지역변수 : 해당 지역에서만 사용가능
}
sayHello() //함수 호출 -> 재사용 용이
//console.log(hello)
const sayBye = function(){ //함수 표현식 -> 이름이 없는 함수에 함수명을 붙여줌
console.log("good bye~")
}
sayBye()

return
- 함수 내부에서 함수의 부가 기능을 위해 사용
- 함수를 통해 데이터를 반환
- 함수가 데이터를 반환하면, 함수 호출문이 데이터로 대체
- 함수를 강제로 종료
function sayHello(){
console.log("Hello")
console.log("Hi")
return; //함수 강제 종료 -> 뒤에 데이터 기입 X
console.log("안녕")
}
sayHello()

=> return 이후 출력되지 않음
function noReturn(){
console.log("아무것도 반환하지 않는다!")
}
const result = noReturn()
console.log(result) //undefined => 변수는 있지만 그 안에 데이터는 대입되지 않은 상태
function thereIsReturn(){
console.log("무언가를 반환한다!")
return 10; //thereIsReturn() 호출시 반환 되는 값
}
const res = thereIsReturn()
console.log(res)

function thereIsReturn(){
console.log("무언가를 반환한다!")
return 10, 20, 30, 40, 50; //마지막값 하나만 반환 => 여러개를 한꺼번에 반환할 수 없음
}
const res = thereIsReturn() //return 50
console.log(res) //50 출력
function thereIsReturn(){
console.log("무언가를 반환한다!")
return 10 50; //값 사이의 space : 에러발생 => Unreachable code detected
}
function thereIsReturn(){
console.log("무언가를 반환한다!")
return 10 //10을 반환한다 + 10을 반환하면서 thereIsReturn 함수를 종료시킨다
return 20
}
const res = thereIsReturn()
console.log(res)
function thereIsReturn(){
console.log("무언가를 반환한다!")
let num = 5 //지역변수에 있는 값을 내보내고 싶을 때
return num //변수명을 return
}
const res = thereIsReturn()
console.log(res)
매개변수
- 함수 생성 시 : function 함수명(변수){ => 변수 : 매개변수 역할
- 함수 호출시 전달될 데이터의 이름을 붙여주는것
- 함수가 호출 될 때마다 매개변수의 값이 바뀔 수 있음
- 갯수의 제한이 없음
- 쉼표(,)를 이용해 변수 추가
- 인자 : 함수 호출 시 괄호()안에 들어가는 값 => 함수명(인자);
함수 호출 시 전달하는 재료
function sayAnything(ant){ //ant : 매개변수
console.log(ant) //함수 호출 시 전달되는 값을 console에 출력
}
sayAnything("바쁘다 바빠") //"바쁘다 바빠" : 인자
sayAnything("현대사회") //"현대사회" : 인자
function oddEven(number){
if(number%2 ==1 ){
return "홀수"
}else{
return "짝수"
}
}
console.log(oddEven(10))
console.log(oddEven(7))
