PROGRAMMING/node.js

[node.js] 노드의 자바스크립트

seulda 2021. 4. 7. 17:12
728x90

 

var, const, let

세가지 다 변수를 선언하는 방법이지만, 각각 차이가 있다. var는 함수스코프를 가지기 때문에 함수가 선언된 블록을 나오더라도 함수 안이라면 유효한 변수이다. 하지만 const와 let은 블록스코프를 가지기 때문에 해당된 블록을 빠져나오면 유효하지 않은 변수가 된다. 또한 const는 변수를 수정할 수 없는 반면, let은 변수 값의 수정이 가능하다.

 

`, 백틱

큰 따옴표나 작은 따옴표로 감싸는 기존 문자열과는 달리, ES2015문법에서 생긴 문자열이다.
문자열 안에 변수를 넣는 것도 가능해서 유용하게 쓰인다.

var num1 = 1;
var num2 = 2;
var result = 3;
var string1 = num1 + ' 더하기 ' + num2 + '는 \'' + result + '\'';
console.log(string1); // 1 더하기 2는 '3'

const num3 = 1;
const num4 = 2;
const result2 = 3;
const string2 = ${num3} 더하기 ${num4}는 '${result2}';
console.log(string2); // 1 더하기 2는 '3'

ES2015부터는 띄어쓰기, 변수, 더하기기호, 작은 따옴표의 이스케이프 등 때문에 가독성이 좋지 못한 코드를 깔끔하게 쓰기가 가능해졌다. 또한 ${변수} 형식으로 변수를 더하기 기호 없이 문자열에 넣기가 가능해졌다. 기존 따옴표 대신 백틱 ` 을 사용하기 때문에 큰 따옴표와 작은 따옴표와 혼동 없이 함께 사용할 수 있다.

 

객체 리터럴의 유용한 기능

p.58-59 코드 참고

객체의 메서드에 함수를 연결할 때 콜론(:)과 function을 붙이지 않아도 된다.
속성명과 변수명이 겹치는 경우에는 한 번만 쓸 수 있게 되었다.
객체의 속성명을 동적으로 생성할 수 있다.

 

화살표 함수

function add1(x, y) {
return x + y;
}
const add2 = (x, y) => {
return x + y;
}

function선언 대신 => 기호로 함수를 선언할 수 있다.
함수의 매개변수가 1개라면 매개변수를 감싸는 괄호 생략이 가능하다.
함수에 특정한 내용이 없이 return만 있는 함수라면 대괄호를 쓰지 않고 바로 return 식 쓰기가 가능하다.
this를 사용할 때, function과 => 는 서로 스코프가 해당함이 같지 않으므로, 유의해야한다.

 

비구조화 할당

p.61-62 코드 참고

객체나 배열로부터 속성이나 요소를 쉽게 꺼낼 수 있다. 객체, 배열 안의 속성을 찾아 변수와 매칭해준다. 코드 줄 수를 줄여주어 유용하다.

 

 

 

 

 

*추후 코드 추가 예정

 

 

728x90