-
[TIL] 엘리스 SW 엔지니어트랙 2기 - (Week2,Day13)IT/엘리스SW 2022. 4. 21. 00:47728x90
엘리스 SW엔지니어 트랙 2기 DAY_13
📝 목차
- 오늘의 잡담
- Rest Operator (나머지 매개변수)
- 인상깊었던 문제
이고잉님의 수업이 나날이 어려워지면서,
주말에 시간잡고 차근차근 따라해보기로 마음먹었다.
온라인강의의 장점은 수업이 녹화됐기에 녹화수업을 다시 꺼내볼 수 있는점 아닐까
코치님 시간에 같이 푼 문제 중 개념 정리가 필요한 것 일부만 정리해보려 한다.
사실 코치님 틱택토 설명 열심히 해주시는데 잘 못따라가는중 ㅎ;;
어떤 분들은 틱택토를 제대로 이해해서 더더 바꿔나가는 모습보니 부러울 따름~~
Rest Operator(나머지 매개변수)
Rest Operator(나머지 매개변수)는 함수의 나머지 인자를 가리키며 여러 개의 매개변수를 하나의 배열로 묶어서 전달받을 수 있습니다.
제일 이해하기 쉬운 코드는 MDN에 나온 이 예제같다.
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]
뒤에 ... 하고 적게 되면, 나머지 값들이 모두 나온다는 얘기.
...manyMoreArgs 출력한 값을 보면 알 수 있듯, 배열의 형태로 반환된다.
function myFun(a, b, ...manyMoreArgs) { console.log("a", a) console.log("b", b) console.log("manyMoreArgs", manyMoreArgs) } myFun("one", "two", "three") // a, "one" // b, "two" // manyMoreArgs, ["three"] <-- 요소가 하나지만 여전히 배열임
똑같은 식으로 하고, manyMoreArgs는 three라는 요소 하나만 나옴에도 배열로 반환됨을 볼 수 있다.
배열의 형태이므로, length 사용 가능!
또한 다른 매개변수들과 같이 사용하기도 가능하다.
function multiply(multiplier, ...theArgs) { return theArgs.map(element => { return multiplier * element }) } let arr = multiply(2, 15, 25, 42) console.log(arr) // [30, 50, 84]
map함수와 같이 쓴 예시. 일단 입력받은 숫자 2, 15, 25, 42 에서 multiplier가 2로, ...theArgs 는 나머지 15, 25, 42가 들어간다.
그리고 리턴할 때 맵 함수를 사용하여 2* 15 , 2*25, 2*42 라는 값으로 반환해준다.
작성하면서도 아직은 내가 잘 활용할 수 있을지 모르겠다.
연습 연습!
오늘 문제중 제일 인상깊었던 문제
삼각형이 되는지 구하는 문제다.
문제 자체는 그러려니 했는데 , 식을 구해준 코치님의 능력이 인상깊었다.
function isTriangle(a, b, c){ return a+b-c > 0 && b+c-a > 0 && c+a-b>0 ; }
입력 3개의 변을 받는데, 팁에 나온대로 두 변의 합이 한 변보다 길거나 같을 수 없다는 것.
그러니까 a+b(두 변 더한 값)-c(나머지변) 을 뺐을 때 양수여야 된다는 말.
저렇게 간단하게 식이 뿅 나왔다.
'IT > 엘리스SW' 카테고리의 다른 글
자바스크립트 this 이해하기 (0) 2022.04.25 [TIL] 엘리스 SW 엔지니어트랙 2기 - (Week2,Day14) (0) 2022.04.22 [TIL] 엘리스 SW 엔지니어트랙 2기 - Javascript (Week2,Day11) (0) 2022.04.19 [TIL] 엘리스 SW 엔지니어트랙 2기 - 자기소개 웹페이지 만들기(Week2,Day10) (0) 2022.04.15 [TIL] 엘리스 SW 엔지니어트랙 2기 - Javascript DOM(Week2,Day9) (0) 2022.04.15