함수일련의 과정을 문으로 구현하고 코드 블록으로 감싸서 하나의 실행 단위로 정의한 것입력을 받아서 출력을 내보냄특정 함수를 구별하기 위해 식별자인 함수 이름 사용 가능인수 (argument) : 입력값매개변수 (parameter) : 함수 내부로 입력을 전달받는 변수반환값 (return value) : 출력값function add(x,y) { //x,y는 매개변수 return x+y; //x+y는 반환값}add(2,5) //2,5는 인수 함수 정의함수를 호출하기 이전에 인수를 전달받을 매개변수와 실행할 문들, 그리고 반환할 값을 지정하는 것정의된 함수는 자바스크립트 엔진에 의해 평가되어 함수 객체가 됨함수 정의만으로 함수가 실행되는 것은 아님함수 정의 방식함수 선언문함수 표현식Function 생성자 ..
명시적 this this 타입을 지정해 주지 않으면 자동으로 any가 됨 typescript에서는 any를 지양해야 함 interface Cat { name : string age : number } const cat : Cat ={ name : 'kitty', age : 3 } function hello(this: Cat, message : string) { console.log(`Hello ${this.name}, ${message}`) } hello.call(cat, 'You are sooooo cute!'); 오버로딩 function add(a:string, b:string) : string //타입 선언 function add(a:number, b:number) : number //타입 선언 f..
함수(Fuction) 함수 선언문(Declaration) function hello() {} 함수 표현식(Expression) const Hello = function() {} 호이스팅(Hoisting) 코드 상단에서 선언된 함수를 호출하는 것 함수 선언문으로 작성한 함수는 코드 내 선언부 상단에서 함수를 호이스팅하는 것이 가능하지만 함수 표현식으로 작성된 함수는 불가능하다. 나머지 매개변수 function sum(...rest) { return rest.reduce(function(acc,cur) { //배열 내 원소들을 더하고 더한 원소는 삭제하는 코드 return acc + cur }, 0 } sum(1,2) //3 sum(1,2,3,4,5) javascipt는 모든 매개변수의 정보를 가지고 있는 ..