(1) 길고 복잡한 코드 한 단어로 축약 가능
(2) 숫자 넣으면 다른 숫자 나오는 블랙박스 역할
(3) 결론 _ 함수는 parameter, return 값 타입 지정이 가능function 함수(x) { return x * 2 } 함수(30)
: (x)
파라미터 (숫자 input 역할) (변수 작명과 같음)
: x * 2
return 할 값 (output 되는 값)
function 함수(x:number) {
return x * 2
}
function 함수(x:number) :number {
return x * 2
}
아무것도 없이 공허함
return 할 자료가 없는 함수의 타입으로 사용 가능
실수로 뭔가 return 하는 것을 사전에 막을 수 있다.
function 내함수(x :number) :void {
return x * 2 //여기서 에러남
}
타입 지정된 파라미터는 필수이다.
function 내함수(x :number) :void {
}
함수() // 에러 발생
// Expected 1 arguments, but got 0
// An argument for 'x' was not provided
파라미터변수? : 타입
파라미터변수? : 타입
도 가능function 함수(x? : number) : void {
}
함수()
변수? : number
는변수 : number | undefined
와 같다.
function 함수(x : number | undefined) : void {
}
함수()
function 함수(x? : number) : void {
}
함수()
function 함수(x : number | string) : void {
console.log(x+3) // 왜 에러가 발생할까?
}
함수(2)
: (x+3)
x는 지금 number | string 타입이다.
: string + number
[가능]
: string + number
[가능]
: 이 외에는 불가능
function 함수(x : number | string) : void {
if(x의 타입이 숫자면){
console.log( x + 3 )
}
}
(1) 이름을 파라미터로 입력하면 콘솔창에 "안녕하세요 홍길동" 을 출력해주고 아무것도 파라미터로 입력하지 않고 함수를 사용하면 "이름이 없습니다" 를 출력하는 함수 만들기 (또한, 파라미터와 return 타입지정도 잘하기)
function sayHello(x? : string) {
if(x){
console.log('안녕하세요' + x)
}else{
console.log('이름이 없습니다')
}
}
(2) 함수에 숫자 또는 문자를 넣으면 자릿수를 세어 출력해주는 함수 만들기. 예를 들어, '245' 이런 문자를 입력하면 3이 return 되어야 한다. 숫자도 마찬가지로 9567 입력하면 4가 return 되어야 한다. (숫자 또는 문자 외 자료가 들어오면 안된다.)
function place(x : number | string) : number {
return x.toString().length
}
(3) 결혼 가능 확률을 알려주는 함수 만들기
함수의 파라미터로 월소득(만원단위), 집보유여부(true/false), 매력점수('상' or '중' or '하') 를 입력할 수 있어야 한다.
월 소득은 만원 당 1점, 집 보유시 500점 & 미보유시 0점, 매력점수는 '상'일때만 100점으로 계산한다.
총 점수가 600점 이상일 경우 "결혼가능"을 return 해줘야 한다. 그 외 아무것도 return 하지 않는다.
[예시] 결혼가능하냐(700, false, '중') 이렇게 사용할 경우 "결혼가능"을 return 해줍니다.
[예시] 결혼가능하냐(100, false, '상') 이렇게 사용할 경우 아무것도 return되지 않습니다.
function marry(
money : number,
house : boolean,
charm : string
) : string | void {
let score : number = 0;
score += money;
if(house === true){
score += 500
}
if (charm === '상'){
score += 100
}
if(score >= 600){
return '결혼 가능'
}
}
console.log(marry(100, true, '상'))
: score
라는 변수를 만들고 money
에 따라 score +
함
: house
여부에 따라 score +
를 함