false === 0 은 false
false == 0은 true
undefine === null 은 false
undefine == null은 true
const dog = {
name: '멍멍이',
sound: '멍멍!',
say: function() {
console.log(this.sound);
}
};
dog.say();
객체 안에 함수를 넣을 때, 화살표 함수로 선언한다면 제대로 작동하지 않습니다. 화살표 함수에서는 this가 자기가 속한 객체를 잘 못찾는다.
함수가 객체안에 들어가게 되면, this 는 자신이 속해있는 객체를 가르키게 됩니다.
const dog = {
name: '멍멍이',
sound: '멍멍!',
say: function() {
console.log(this.sound);
}
};
dog.say();
객체 안에 함수를 넣을 때, 화살표 함수로 선언한다면 제대로 작동하지 않습니다.
이유는, function 으로 선언한 함수는 this 가 제대로 자신이 속한 객체를 가르키게 되는데, 화살표 함수는 그렇지 않기 때문입니다.
const superheroes = ['아이언맨', '캡틴 아메리카', '토르', '닥터 스트레인지'];
superheroes.forEach(hero => {
console.log(hero);
});
배열 안에 있는 값을 찾을 때는 indexOf 쓰면 됨. 하지만 배열 안에 있는 값이 객체거나 배열이라면 indexOf 찾을 수 없음. 그때는 findIndex 사용.
filter함수는 기존의 배열을 건드리지 않고 새로운 배열을 만들어준다.
splice 와 slice
splice는 기존의 배열을 조작하는 것이고 (파괴적 함수) slice는 기존의 배열을 건드리지 않고 조건에 맞는 새로운 배열을 만들어내는 것이다.(비파괴적함수)
shift는 배열의 0번째 인덱스를 리턴, pop은 배열의 -1번째 인덱스를 리턴
unshift는 배열의 0번째 인덱스에 새로운 원소를 추가
concat은 여러개의 배열을 합쳐서 새로운 배열을 만드는 함수, 기존의 배열에 영향을 주지 않음.
배열 내장 함수 reduce는 파라미터 두 개를 받는데 첫번째는 콜백함수 ,두번 째는 초기값을 받음
accumulator는 배열의 원소의 누적 값, current는 현재 값임.