Search
Duplicate
📒

[JavaScript/TypeScript] 03. 기본함수 종류

상태
수정중
수업
JavaScript/TypeScript
주제
4 more properties
참고

기본함수

함수 - 호출과 참조

NOTE
자바스크립트에서는 함수도 객체이다
다른 객체와 마찬가지로 넘겨주거나 할당이 가능하다.
식별자 뒤에 괄호의 여부에 따라 호출과 참조가 갈림
함수 호출과 참조 코드

함수 - 매개변수

NOTE
함수안에서 기본타입을 변경하면 외부에 영향을 끼치지 못한다.
함수내부 기본타입 반영 코드
함수안에서 객체 자체를 변경하면 밖에서도 반영된다.
함수내부 객체반영 코드
매개변수의 수에 관계없이 같은 함수를 호출하며, 개수가 적은경우 undefined로 정의

함수 - this

NOTE
메서드를 호출하면 this는 호출한 메서드를 소유하는 객체가 된다.
this 호출 메서드 코드
중첩된 함수 안에서 this를 사용하려다 보면 혼란스러운 경우가 많이 발생한다
앞의 경우에는 thiso가 아닌 다른것에 묶여 제대로 실행안됨
뒤의 경우에는 this의 값을 다른 변수에 할당해줌
중첩함수 this 코드

함수 - 화살표 표기법

function 생략 가능
함수에 매개변수가 하나라면 괄호도 생략가능
함수 바디가 표현식 하나라면 중괄호과 return도 생략가능
const f1 = function(){return "hello";!) //또는 const f1 = () =>"hello"; const f2 = function(name) {return `hello ${name}`;} // 또는 const f2 = name => `Hello ${name}`; const f3 = function(a,b) {return a+b; } // 또는 const f3 = (a,b) => a+b;
JavaScript
복사
일반 함수와 중요한 차이가 존재함
화살표 함수에는 this가 존재하지 않는다
const o3 = { name: "Julia", greeBackwards: function () { const getReverseName = () => { let nameBackwards = ""; for (let i = this.name.length - 1; i >= 0; i--) { nameBackwards += this.name[i]; } return nameBackwards; }; return `${getReverseName()} // si eman ym, olleH`; }, };
JavaScript
복사

함수 - 콜백함수

파라미터로 함수를 전달받아, 함수의 내부에서 실행하는 함수이다.
let number = [1, 2, 3, 4, 5]; number.forEach(x => { console.log(x * 2); });
JavaScript
복사
forEach → 함수 안에 익명의 함수를 넣어서 forEach문을 완성시킨다.