*함수
자바스크립트에서 가장 중요한 개념
자바에서는 메소드라는 용어로 사용
함수란?
특정 작업을 여러 번 반복해야 하는 경우 해당 작업을 재사용 가능한 구조로 만들게 되는데 이때 사용하는 것이 함수
함수로 구현된 코드는 그 함수를 호출함으로써 반복된 기능을 쉽게 처리
함수가 정의되었다고 자동으로 실행되는 것이 아니라 함수명을 사용해서 호출 했을 때 실행
함수의 선언과 실행 순서
자바스크립트의 코드를 해석 할 때 함수의 선언 부분을 코드의 윗쪽으로 옮겨서 먼저 해석
함수 표현식
변수에 함수를 할당해서 사용하는 방식
객체의 파생된 자료형
자바스크립트의 자료형은 변수에 할당 할 수 있어야 하며, 따라서 함수도 변수에 할당 할 수 있다.
이를 이용한 함수 정의 방법을 함수 표현식
함수 표현식은 변수에 할당하는 함수에 식별자가 있으면 네이밍 함수, 없으면 익명 함수라고 구분
화살표 함수로 함수 정의하기
화살표 함수는 ES6에서 추가된 함수 정의 방법으로, 화살표를 사용해 함수를 정의하는 방법
const hi = function() {
return "안녕하세요?";
}
console.log(hi());
const hi2 = () => "안녕하세요?";
console.log(hi2());
데이터 전달
함수 스코프
함수에서 정의한 블록문만 스코프의 유효 범위로 인정하는 방식
let a = 10;
{
let b = 20;
console.log(`코드 블록 내부 a : ${a}`);
console.log(`코드 블록 내부 b : ${b}`);
}
console.log(`코드 블록 외부 a : ${a}`);
console.log(`코드 블록 외부 b : ${b}`);
코드 블록 내부 a : 10
코드 블록 내부 b : 20
코드 블록 외부 a : 10
ReferenceError: b is not defined
var a = 10;
{
var b = 20;
console.log(`코드 블록 내부 a : ${a}`);
console.log(`코드 블록 내부 b : ${b}`);
}
console.log(`코드 블록 외부 a : ${a}`);
console.log(`코드 블록 외부 b : ${b}`);
코드 블록 내부 a : 10
코드 블록 내부 b : 20
코드 블록 외부 a : 10
코드 블록 외부 b : 20
함수 호이스팅
코드를 선언과 할당을 분리해 선언부를 자신의 최상위로 끌어 올리는 것
'javascript' 카테고리의 다른 글
Javascript(JSON, ajax) (0) | 2022.10.13 |
---|---|
Javascript(정규 표현식) (0) | 2022.10.13 |
Javascript(이벤트 다루기, 브라우저 객체 모델) (0) | 2022.10.13 |
Javascript(DOM) (0) | 2022.10.12 |
Javascript(객체) (0) | 2022.10.12 |