자바스크립트 알아야할 것

Mongle·2021년 3월 24일
0
  • null & undefine
    null은 값이 없다는 것을 명시한 것, undefine은 아무런 값을 주지 않은 것

  • == & ===
    ==는 타입 검사를 하지 않고, ===는 타입검사까지 한다.
    1 === '1' 은 false
    1 == '1'은 true

false === 0 은 false
false == 0은 true

undefine === null 은 false
undefine == null은 true


  • this
    함수가 객체안에 들어가게 되면, this 는 자신이 속해있는 객체를 가르키게 됩니다.
const dog = {
  name: '멍멍이',
  sound: '멍멍!',
  say: function() {
    console.log(this.sound);
  }
};

dog.say();

객체 안에 함수를 넣을 때, 화살표 함수로 선언한다면 제대로 작동하지 않습니다. 화살표 함수에서는 this가 자기가 속한 객체를 잘 못찾는다.


  • 화살표 함수와 function의 차이점
    화살표 함수와 일반 function 으로 만든 함수와의 주요 차이점은 화살표 함수에서 가르키는 this 와 function 에서 가르키는 this 가 서로 다르다는 것

함수가 객체안에 들어가게 되면, this 는 자신이 속해있는 객체를 가르키게 됩니다.

const dog = {
  name: '멍멍이',
  sound: '멍멍!',
  say: function() {
    console.log(this.sound);
  }
};

dog.say();

객체 안에 함수를 넣을 때, 화살표 함수로 선언한다면 제대로 작동하지 않습니다.
이유는, function 으로 선언한 함수는 this 가 제대로 자신이 속한 객체를 가르키게 되는데, 화살표 함수는 그렇지 않기 때문입니다.


  • 콜백함수 : 함수형태의 파라미터를 전달하는 것
const superheroes = ['아이언맨', '캡틴 아메리카', '토르', '닥터 스트레인지'];

superheroes.forEach(hero => {
  console.log(hero);
});

  • map 함수
    array = [1,2,3,4,5]
    const newArray = array.map(n=>n+1) : map 함수의 파라미터로 변화를 주는 함수는 부르면 내부의 모든 값에 대해서 새로운 배열을 생성한다.
    newArray = [2,3,4,5,6]

배열 안에 있는 값을 찾을 때는 indexOf 쓰면 됨. 하지만 배열 안에 있는 값이 객체거나 배열이라면 indexOf 찾을 수 없음. 그때는 findIndex 사용.


filter함수는 기존의 배열을 건드리지 않고 새로운 배열을 만들어준다.


splice 와 slice
splice는 기존의 배열을 조작하는 것이고 (파괴적 함수) slice는 기존의 배열을 건드리지 않고 조건에 맞는 새로운 배열을 만들어내는 것이다.(비파괴적함수)


shift는 배열의 0번째 인덱스를 리턴, pop은 배열의 -1번째 인덱스를 리턴
unshift는 배열의 0번째 인덱스에 새로운 원소를 추가


concat은 여러개의 배열을 합쳐서 새로운 배열을 만드는 함수, 기존의 배열에 영향을 주지 않음.


배열 내장 함수 reduce는 파라미터 두 개를 받는데 첫번째는 콜백함수 ,두번 째는 초기값을 받음
accumulator는 배열의 원소의 누적 값, current는 현재 값임.

profile
https://github.com/Jeongseo21

0개의 댓글