node.js를 하려면 결국 자바스크립트를 잘해야 한다.
기본 문법을 정리하려는데,
정립이 잘 안된 부분만 기록해보기로 했다.
*사진, 자료 출처: 구름 EDU 강의
「+=, -=, *=, /=」
연산과 동시에 값을 변수에 할당
a += 1
▶ a = a+1
「(조건)? A:B」
조건이 참일 때 앞에 있는 A 수행,
거짓이면 뒤에 있는 B를 수행
→ a가 실제로 b보다 큰 게 맞으므로,
앞에 있는 문장을 출력
사실 자바스크립트는 자료형 개념이 없다.
다른 언어와 달리 int a, 이런 식으로
변수 선언할 때 자료형을 쓰지 않는다.
(자바스크립트 기본 문법들 중에 다른 언어와
달리 혼란을 주는 것들이 종종 있다.)
변수 자체에 입력되는 값에 의해,
자료형이 구분되므로
훨씬 더 유연한 편이다.
아래 소개되는 것들은 "내장형 객체" 개념이다.
미리 만들어서 내장되어있는 객체인데,
자료형 개념과 비슷하므로 예시로 가져온 것이다.
숫자와 관련된 것들
→ 10진수, 8진수, 16진수, 실수, 지수
number 객체의 내장함수인 toString 사용하여 진수변환
문자열 값을 가지는 자료형.
큰 따옴표 혹은 작은따옴표 사용
참과 거짓을 구분하는 값
true와 false로 결과값 알려줌.
배열을 표기하는 자료형
배열 연산을 할 수 있도록 여러 메소드가 지원되는 객체
code를 블록 단위로 작성.
상황에 맞게 실행 흐름을 조절한다.
블록 단위 code를 특정 조건에서 반복.
반복문이나 조건문은
자바스크립트 기본 문법에서도 다른 언어와 비슷하다.
해당 조건이 참을 만족할때, 해당 블록 실행
1번 문장에서 '참'을 만족했으므로,
해당 조건문을 빠져나오게 된다.
조건의 참거짓 여부가 아니라,
동일한 값이 있는 case로 넘어가는 구조.
→ break를 줘야, 그 문장에서 멈춘다.
초기화: 0 // 조건: i < 10 // 연산: i ++
"0에서 시작해서, 10보다 작을 때까지 연산한다."
i : index
result = index와 a의 index에 해당하는 값이 들어갑니다.
index값으로 순회한다.
조건문이 참인 동안은 계속 실행
"10보다 작을 때까지, i++해서 i를 출력"
// 출력은 console.log 이용하기
var i = 10;
for (i =10; i >= 1; i --) {
console.log(i);
}
자바스크립트 기본 문법에서
함수는 '객체'이기 때문에,
data로서 취급된다.
함수 안에서 변수로, 함수를 할당해서 사용하는 모습!
function sum(a, b) {
var c = a + b;
return c;
}
var add = sum;
typeof add;
//"function"
add(1,2);
// 3
1. true: delete로 name 삭제 성공
2. undefined: delete로 속성을 삭제한 상태
3. delete student: 객체 자체를 삭제하는 건 불가능
객체 자체를 삭제해버릴 수는 없지만,
메모리 공간에 할당된 "객체의 속성"은 지울 수 있다.
true가 출력되는 경우 :
- delete 연산의 성공
- 속성이 존재하지 않아서 연산을 하지 못할 경우
false가 출력되는 경우 :
연산 실패
Anonymous Function
C와 JAVA에 없는
자바스크립트 기본 문법에서만 있는 개념.
함수가 객체로 취급되기 때문에
쓸 수 있는 개념이다.
※ 사용법: 변수에 함수 CODE를 저장하고,
함수 이름을 적지 않는다.
변수명을 함수 이름처럼 쓰면 된다.
→ 어차피 일회용 함수이기 때문에 이름을 붙이지 않는 것.
"특정 이벤트 발생시, 호출되는 함수"
콜백함수도 익명함수 형태를 많이 쓴다.
함수인 one()과 two()가
invoke_and_add()라는 함수의 인자로 전달되어
1+2 = 3 의 결과가 나왔다.
1번째 인자인 one() 함수는 그대로 정의해서 전달하고,
2번째 인자에서는 function() 자체를 인자로 받으면서,
익명함수를 생성하여 전달했다.
javascript는 event기반의 구조인데,
콜백함수가 요긴하게 쓰일 때가 있다.
위 자바스크립트 기본 문법 포스팅은
※ 아래 강의 자료를 필기한 내용입니다.
자바스크립트 데이터 할당의 동작원리
자바스크립트 객체 지향(Object-Oriented Programming)에 대한 기초 지식 (0) | 2022.01.14 |
---|---|
사용자 데이터를 생성 가능한 node.js (0) | 2022.01.13 |
Node.js를 배우기 전 자바스크립트(javascript)의 역사 흐름 (0) | 2022.01.10 |
[Node.js] 블로그 웹사이트 만들기-0. 요구사항 명세서 작성하기 (RAEDME.md) (0) | 2022.01.05 |
[Node.js ] template engine 사용하기 (Nunjucks) (0) | 2022.01.05 |
댓글 영역