반응형
기본 문법
- ;로 문장이 종료되어야 한다.
- 변수 이름의 시작은 항상 알파벳이나 _여야 한다.
- 대, 소문자를 구별한다.
- *예약어는 변수 이름으로 사용될 수 없다.
- {중괄호}를 이용해 구역을 나눈다.
- C/C++과 같은 구조의 조건문과 반복문을 가진다.
*예약어: break, case, catch, continue, default, delete, do, else, false, finally, for, function, if, in, instanceof, new, null, return, switch, this, throw, true, try, typeof, var, void, while, with
연산자
- 조건 연산자: (조건)? A:B / 조건이 참일 경우 A, 거짓일 때 b를 수행함
- ...
데이터 타입
- String: "", ''
- Array
- ...
함수
C/C++이나 Java와 비슷하게 함수를 선언한다.
- 선언할 때 function 키워드를 사용한다.
- 함수의 반환값에 대한 자료형은 명시하지 않아도 된다.
1. 함수의 정의와 사용
function sum(a, b) {
var c = a + b;
return c;
}
sum(1, 2);
2. 데이터로서의 함수
자바스크립트에서 함수는 하나의 데이터로 취급된다. 이는 함수 또한 하나의 객체이기 때문에 가능하다.
<변수처럼 함수 선언>
var sum = function (a, b) {
var c = a + b;
return c;
}
sum(1, 2);
데이터로의 함수
<변수처럼 할당하고, 지우고, 호출하는 함수>
var add = sum;
delete sum; //true
typeof sum; //"undefined"
typeof add; //"function"
add(1, 2); //3
- 다른 이름의 변수로 함수를 할당하고 사용하기
- delete: 메모리 공간에 할당된 변수나 객체를 삭제하는 키워드
- 함수 sum을 삭제함
- 함수 sum을 변수 add에 할당하였으므로 add의 데이터 타입은 function임
- 변수 add를 함수 sum와 같은 기능으로 사용
3. 무기명(익명) 함수
이름을 붙여주지 않아도 되는 함수. 일회용으로 사용하거나, 트겹ㄹ히 이름을 지어주지 않아도 되는 변수값들을 사용할 때 사용한다. 이 또한 함수가 객체로서 취급되고 처리되므로 가능한 개념이다.
var f = function (a) { return "This is anonymous function!"; };
f();
4. 콜백 함수
특정 이벤트가 발생하면 호출되는 함수.
<함수 인자로 함수를 넘겨주기>
function one() {
return 1;
}
var two = function () {
return 2;
}
function invoke_and_add(a, b) {
return a() + b();
}
invoke_and_add(one, two); //3
<함수 인자로서 무기명 함수를 넘겨주기>
function one() {
return 1;
}
function invoke_and_add(a, b) {
return a() + b();
}
invoke_and_add(one, function() { return 2; }); //3
반응형
'Front-End: Web > JavaScript' 카테고리의 다른 글
클로져(Closure) (0) | 2020.08.31 |
---|---|
내장형 객체 (0) | 2020.08.31 |
자바스크립트에서의 객체: Constructor (0) | 2020.08.31 |
객체지향 자바스크립트 (0) | 2020.08.31 |
JavaScript의 특징 (0) | 2020.08.31 |