배열 메소드 사용

devMarco·2022년 3월 22일
0

concat

// Assignment 1 
let month1 = ['Jan', 'Feb', 'March', 'Apr', 'May', 'June'];
let month2 = ['July', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec'];

// 아래의 함수를 완성해주세요.
function combineMonth() {
 let result = month2.concat(month1);//원본배열은 변하지 않으며 배열을 합쳐준다.
 return result 
}


// Assignment 2  
let num = [[11, 12, 13], [14, 15, 16], [17, 18, 19]]; 

//아래의 함수를 완성해주세요. 
function makeNewArr () {
 const a = [].concat(num[0],num[1],num[2])//인덱스로 접근하여 합쳐질수 있다.
 return a
}

module.exports = { combineMonth, makeNewArr };

filter

let fruits = ['apple', 'banana', 'grapes', 'mango', 'orange'];

//아래의 함수를 완성해주세요.
function filtered () {
 let filteredfruits = fruits.filter(value => value.includes('ap'))
  return filteredfruits //화살표함수 중요
}

module.exports = { filtered };

화살표함수 =>

function fun() { // 일반함수
  ...
}

const arrFun = () => { // 화살표 함수
  ...
};

일반함수
자바스크립트에서 모든 함수는 실행될 때마다 함수 내부에 this라는 객체가 추가된다.
아래는 일반 함수에서 this가 바인딩 되는 상황이다.

1.함수 실행시에는 전역(window) 객체를 가리킨다.
2.메소드 실행시에는 메소드를 소유하고 있는 객체를 가리킨다.
3.생성자 실행시에는 새롭게 만들어진 객체를 가리킨다.
일반 함수는 함수를 선언할 때 this에 바인딩할 객체가 정적으로 결정되는 것이 아니고,
함수를 호출할 때 함수가 어떻게 호출되었는지에 따라 this에 바인딩할 객체가 동적으로 결정된다.

화살표 함수
화살표 함수는 함수를 선언할 때 this에 바인딩할 객체가 정적으로 결정된다.
화살표 함수의 this 언제나 상위 스코프의 this를 가리킨다.(Lexical this)
또한 call, apply, bind 메소드를 사용하여 this를 변경할 수 없다.

참고 : https://hhyemi.github.io/2021/06/09/arrow.html

0개의 댓글