[TIL] D+52 js노드 핵심개념 및 주요문법 슬라이드 예습

밍징·2021년 7월 22일
0

TIL_ver.

목록 보기
9/49
post-thumbnail

📌 오늘 공부한 내용

1) Let const var 차이

var

var 키워드로 정의한 변수는 블록 스코프를 무시하고, 함수 스코프만 따릅니다. 그러나, 모든 블록 스코프를 무시하는 건 아닙니다. 화살표 함수의 블록 스코프는 무시하지 않습니다.

함수 스코프는 함수의 실행부터 종료까지이고, var 선언은 함수 스코프의 최상단에 선언됩니다.선언 키워드 없는 선언은 최고 스코프에 선언됩니다.
함수 내에서 선언 키워드 없는 선언은, 함수의 실행 전까지 선언되지 않은 것으로 취급합니다.

let

  • let 키워드는 재선언을 방지.

const

  • 곧 상수(constant)를 정의할 때에는 const를 이용.
  • const는 값의 재할당이 불가.

2) 스코프 부연설명

  • 전역 변수를 많이 만드는 것은 그다지 좋은 선택 아님.
  • 선언 없이 변수를 할당 no. 선언 없이 변수를 할당하면, 해당 변수는 var로 선언한 전역 변수처럼 취급.
  • 'use strict'
    문법적으로 실수할 수 있는 부분들을 에러로 취급!

3) 클로저 함수

  • "내부 함수는 외부 함수에 선언된 변수에 접근 가능하다"
  • 클로저를 통해 데이터와 메소드를 같이 묶어서 다룰 수 있습니다. 즉, 클로저는 모듈화에 유리.

4) spread 문법

예제를 통해 익히자

let parts = ['shoulders', 'knees'];
let lyrics = ['head', ...parts, 'and', 'toes'];
// lyrics 의 결과는?
(5) ["head", "shoulders", "knees", "and", "toes"]
function sum(x, y, z) {
  return x + y + z;
}
const numbers = [1, 2, 3];
sum(...numbers)
// 결과는 6 

기존에 두 배열을 합치려면, push, splice, concat를 사용해야 했다. 하지만 spread문법을 사용하면 두 배열을 간단히 합치 거나 복사가 가능.

5) rest 문법

  • Rest 파라미터 구문은 정해지지 않은 수(an indefinite number, 부정수) 인수를 배열로 나타낼 수 있게 함.

  • Rest문법은 Spread와 비슷하지만 여러 인자들을 하나의 배열로 반환. 함수의 지역인자 arguments와 rest의 다른점은 arguments는 모든 인자를 포함하며 유사배열.

function sum(...theArgs) {
  return theArgs.reduce((previous, current) => {
    return previous + current;
  });
}
console.log(sum(1, 2, 3));
// expected output: 6
console.log(sum(1, 2, 3, 4));
// expected output: 10
profile
프론트엔드를 공부하고 있는 디자이너 입니다 :D

0개의 댓글