ModernJavascript

이동규·2024년 4월 7일

JAVASCRIPT

목록 보기
21/21

ECMA

자바스크립트의 표준이다.

Symbol

기본형데이터중 하나이다. 심볼은 코드내에서 유일한 값을 가진 변수 이름을 만들때 사용한다.

//  설명을 붙일 수있다.
const user = Symbol("this is a user");

BigInt

더 큰 숫자를 사용 할 수 있다.

// BigInt사용하기
// BigInt라는 타입을 숫자로 변환하여 사용해야됨 number랑 같이 사용 x
console.log(9007199254740993n); // 9007199254740993n
console.log(BigInt("9007199254740993")); // 9007199254740993n

truthy vs falsy

빈배열 빈객체는 truthy 값이다.

falsy: false,null,undefined,0,Nan,""

and 연산자가 or 연산자보다 우선순위가 높다.

변수와 스코프

var변수의 함수 스코프는 전역변수 단위이다. 지역변수로 쪼개서 사용 할수 없다.var변수는 재선언되고, 업데이트 될 수 있다.그리고 호이스팅된다.(호이스팅이란 변수 선언부가 맨 위로 올라가는 것을 말한다.)

let 과 cosnt 변수는 블록 스코프이며 블록 단위로 쪼개서 사용 할 수 있다.

함수를 만드는 방법

함수 선언식 function 키워드를 사용하는 방법은 호이스팅(hoisting)이라는 매커니즘을 따른다.이는 함수 선언이 스코프 내의 최상단으로 끌어 오르는 것을 말한다.따라서 함수를 선언하기 전에 호출할 수 있다.

고차함수

함수를 리턴하는 함수는 고차함수라고 부른다.

자바스크립트는 일급 함수를 가진 프로그래밍 언어이다.

파라미터와 아규먼트

아규먼트:파라미터에 전달하는 값

파라미터에 기본값을 설정 할 수 있다.

function myGreeting(name = "codeit", interest) {
  console.log(`my name is ${name}`);
  console.log(`I Like ${interest}`);
}

arguments 키워드

아규먼트의 값들을 모두 불러온다.

function printArguments(a, b, c) {
  for (const arg of arguments) {
    console.log(arg);
  }
}

restParameter

배열이 아니다. 배열 함수를 사용 할수없다. 접근은 가능

function restArguments(a, b, ...c) {
  console.log("---------------------------------");
  for (const iterator of c) {
    console.log(iterator);
  }
}

this 익히기

함수안에서 this는 조금 다른 값을 가진다. 바로 메소드를 호출한 객체를 가르킨다.#### 화살표 함수는 윈도우 객체를 품는다. arrow function에서 this는 일반함수와 다르게 함수를 호출 될때 호출한 객체를 가르키지 않는다.윈도우 객체를 가르킨다.

표현식인 문장 VS 표현식이 아닌 문장

표현식:하나의 값을 의미한다.

표현식인 문장: 함수 호출 , 변수할당 등

표현식이 아닌 문장:for문 while문 if문 등

0개의 댓글