[javascript] 12-02 javascript study
2021-12-02
12-02 (목)
part 2 - Function
- 함수를 선언할 때의 방법은 2가지가 있음
- 함수 선언식
- 함수 표현식
→ 함수 표현식의 특징은 먼저 호이스팅 되지 않는다는 점이 있음 (상단에 작성하지 않고 호출된 아래 작성하면 에러가 남)
→ 이어서 특징은 클로져를 이용해 기능을 만들 수 있음, 전달인자로 응용가능함
-
함수의 매개변수 자리의 기본값 설정 가능
만약 기본값을 설정하지않았다면
undefined가 뜰 것!매개변수의 갯수를 딱히 설정하지 않아도 배열로 처리해서 계산할 수 있게끔 하는 방법
/* 1. arguments로 처리방법 */ function test(){ console.log('매개변수 갯수', arguments.length); console.log('매개변수 형태', arguments); } test(1, 3); // '매개변수 갯수', 2 // '매개변수 형태', Argument (2) [1, 3]/* 2. 나머지 매개변수로 처리방법 */ function myFun(a, b, ...manyMoreArgs) { console.log("a", a); console.log("b", b); console.log("manyMoreArgs", manyMoreArgs); } myFun("one", "two", "three", "four", "five", "six"); // 콘솔 출력: // a, one // b, two // manyMoreArgs, [three, four, five, six] - (출처) 함수 선언은 아주 쉽게 (때로는 무심코) 함수 표현식으로 바꿀 수 있습니다. 다음 두 가지 중 하나라도 만족할 경우 함수 선언이 아니라 함수 표현식이 됩니다.
- 표현식의 일부가 될 때
- 함수나 스크립트의 ‘본 요소’가 아닌 경우. ‘본 요소’는 함수나 스크립트 본문의, 중첩되지 않은 명령문을 의미합니다.
-
예시코드
// 함수 선언 function foo() {} // 함수 표현식 (function bar() {}) // 함수 표현식 x = function hello() {} if (x) { // 함수 표현식 function world() {} } // 함수 선언 function a() { // 함수 선언 function b() {} if (0) { // 함수 표현식 function c() {} } }
Part 2 - Array
-
인덱스 위치에 있는 항목 제거하기
let testArr = ['사과', '바나나', '레몬', '샤인머스캣']; let removeItems = testArr.splice(1, 1); // 2번째거, 한개 제거할 때 console.log(removeItems); // ['바나나'] let removeItems2 = testArr.splice(0); // 1번째거부터 끝까지 제거할 때 console.log(testArr); // [] -
인덱스 위치에서부터 여러개의 항목 제거하기
let testArr = ['호랑이', '토끼', '고양이', '강아지'] let removeItems = testArr.splice(2, 2); // 3번째거부터 2개 제거 console.log(testArr); // ['호랑이', '토끼'] console.log(removeItems); // ['고양이', '강아지'] -
배열 복사하기
let copyArr = testArr.slice() // 사본을 만드는 방법 // ["호랑이", "토끼"]