Odds and Ends
3장 Node.js 강의 정리 - Node.js의 자바스크립트 본문
[Node.js를 하며 자바 스크립트 알아야할 부분 간단 정리]
1. 자료형 : 자바는 자료형을 명시O vs 자바스크립트는 자료형 명시 X (var 사용하여 변수 구분)
ch03_test1.js 파일
// 변수 다루기
var name; // 선언
console.log('name : ' + name); // undifined
var age = 20; // 선언 및 초기화
console.log('age : ' + age); // 제대로 출력
name ='소녀시대'; // 초기화
console.log('name : '+name); // 제대로 출력
**변수 값 접근 및 할당하는 방법 두 가지 예제
ch03_test2.js 파일
var person = {};
// 속성에 값 할당 두가지 방법
person.name = '소녀시대';
person['age'] = 20;
console.log('이름 : ' + person.name);
console.log('나이 : ' + person['age']);
2. 함수 : 파라미터의 타입과 반환되는 값의 타입을 명시 X, 자바와 반대
: 자바스크립트에서는 함수를 일급 객체로 다루어, 함수가 변수에 할당 가능
ch03_test3.js 파일
// 함수를 변수에 할당
var add2 = function add(a,b){
return a+b;
}
var result = add2(10,10);
console.log('더하기 결과 : '+result);
** 객체 속성으로도 함수 할당이 가능하다.
ch03_test5.js 파일
var person = {};
person.name = '소녀시대';
person['age'] = 20;
// 객체 속성으로 함수를 할당
person.add = function(a, b){
return a+b;
};
console.log('더하기 : ' + person.add(20,20));
ch03_test7.js 파일
// 객체 속성으로 함수 할당
var person = {
name:'소녀시대',
age:20,
add:function(a,b){
return a+b;
}
};
console.log('더하기 : ' + person.add(40,40));
3.배열 : 자바스크립트에서는 배열에 어떤 원소가 들어갈 수 있는 지
*기본적인 배열 예제
ch03_test8.js 파일
var names = ['소녀시대','걸스데이','티아라'];
var users =[{name:'소녀시대',age:20},{name:'걸스데이',age:22}];
users.push({name:'티아라',age:21});
console.log('사용자 수 : '+users.length);
console.log('첫번째 사용자 이름 : '+users[0].name);
**배열 요소를 함수로 실행
ch03_test9.js 파일
var users = [{name:'소녀시대',age:20},{name:'걸스데이',age:22}];
var oper = function(a,b){
return a+b;
}
users.push(oper); // 추가 시 push() 사용, 함수 배열에 삽입
console.dir(users);
//배열 요소 함수로 실행
console.log('세번째 배열 요소 함수로 실행 : '+users[2](10,10));
* 배열에 값 추가 및 삭제 함수
- push(), pop()이 가장 많이 사용된다. (자료구조에서 스택과 같은 처리)
함수들을 이용한 간단 예제 - push,pop
var users = [{name:'소녀시대',age:20},{name:'걸스데이',age:22}];
console.log('배열 원소의 개수 : '+users.length);
users.push({name:'티아라',age:21});
console.log('배열 원소의 개수 : ' +users.length);
var elem = users.pop();
console.log('배열 원소의 개수 : ' +users.length);
console.log('pop으로 꺼낸 세번째 원소');
console.dir(elem);
함수들을 이용한 간단 예제 - unshift,shift
var users = [{name:'소녀시대',age:20},{name:'걸스데이',age:22}];
console.log('배열 원소의 개수 : '+users.length);
users.unshift({name:'티아라',age:21}); // push와 달리 앞쪽에 추가된다.
console.log('배열 원소의 개수 : ' +users.length);
console.dir(users);
var elem = users.shift();
console.log('배열 원소의 개수 : ' +users.length);
console.log('pop으로 꺼낸 세번째 원소');
console.dir(elem);
slice,splice 사용
var users = [{name:'소녀시대',age:20},{name:'걸스데이',age:22},{name:'티아라',age:21}];
delete users[1];
console.dir(users);
users.forEach(function(elem,index){
console.log('원소 #'+index);
console.dir(elem);
});
users.splice(1,0,{name:'애프터스쿨',age:24}); // 0일시 속성 추가
console.dir(users);
users.splice(2,1); // 인덱스 2부터 1개 삭제
var users = [{name:'소녀시대',age:20},{name:'걸스데이',age:22},{name:'티아라',age:21}];
var users2 = users.slice(1,2); // 1부터 2개
console.log('users 객체');
console.dir(users);
console.log('users2 객체');
console.dir(users2);
4. 콜백함수
*콜백함수를 파라미터로 전달
: 변수에 함수를 할당할 수 있음으로 함수 호출 시 파라미터로 다른 함수 전달 가능
ch03_test15.js파일
function add(a,b,callback){
var result = a+b;
callback(result);
}
add(10, 10,function(result){
console.log('더하기 콜백(콜백함수 안에서) : ' + result);
});
*리턴되는 것이 함수인 경우
function add(a, b, callback){
var result = a + b;
callback(result);
var count=0;
var history = function() {
count += 1;
return count + ' : ' + a + ' + ' + b + ' = ' + result;
};
return history;
}
var add_history = add(20,20,function(result){
console.log('더하기 결과 : '+result);
});
console.log('add_history의 자료형 : '+ typeof(add_history));
console.log('결과값으로 받은 함수 실행 : ' + add_history());
console.log('결과값으로 받은 함수 실행 : ' + add_history());
console.log('결과값으로 받은 함수 실행 : ' + add_history());
5. 프로토타입 객체 만들기
: new연산자를 이용하여 새로운 객체를 만들자. 객체의 원형을 프로토타입이라고하고, 프로토타입이 클래스의 역할
** 자바스크립트에서는 함수를 그대로 프로토타입으로 이용한다.
var person1 = {name:'소녀시대',age:20};
var person2 = {name:'걸스데이',age:21};
function Person(name, age){
this.name=name;
this.age=age;
}
Person.prototype.walk = function(speed){
console.log(speed + 'km 속도로 걸어갑니다.');
};
var person3 = new Person('소녀시대',20);
var person3 = new Person('걸스데이',22);
person3.walk(10);
3장은 이렇게 자바스크립트에 대한 기본 내용을 배우는 것으로 끝이난다.
'Node.js 강의 정리' 카테고리의 다른 글
5장 Node.js 강의 정리 - 웹 서버 만들기 (0) | 2021.07.10 |
---|---|
4장 Node.js 강의 정리 - Node의 기본 기능 (0) | 2021.07.02 |
2장 Node.js 강의 정리 - 간단한 Node.js (0) | 2021.07.01 |
1장 Node.js 강의 정리 - Node.js 설치와 예제 (0) | 2021.06.29 |