본문 바로가기

타입스크립트 17

[자바스크립트] 배열의 마지막 요소를 가져오는 방법에 대하여 이번 포스트에서는 배열의 마지막 요소를 가져오는 방법에 대해 알아보도록 하겠다. 파이썬의 경우 배열의 마지막 요소는 array[-1]로 가져올 수 있다. 과연 자바스크립트에서도 동작할까? let array = [0,1,2,3,4]; console.log(array[-1]); // undefined 안된다. 이로써 가장 간단한 방법이라고 생각했던 것이 안된다. 그러면 길이를 계산해서 마지막 요소를 가져오는 방법이 있다. let array = [0,1,2,3,4]; console.log(array[array.length -1]); // 4 아주 깔끔하다. 추가로 다른 방법이 있나 더 찾아보도록 하자. 아래는 stackoverflow에 올라온 질문에 대한 답이다. Selecting last element in.. 2021. 3. 26.
[타입스크립트] jest , import svg 할때 생기는 문제점에 대하여 이번 포스트는 정확한 지식이 아닐지도 모른다는 두려움을 가지고 글을 시작하겠습니다.(아직 공부중이라..ㅜㅜ) 타입스크립트로 마이그레이션 하는 도중에 기존에 없었던 테스트 코드를 작성해보자고 마음을 먹고 facebook에서 만든 Jest를 사용해보고자 했습니다. Jest를 선택한 이유는 Jest 홈페이지 첫 화면에 있습니다. ==> 홈페이지( jestjs.io/ ) Babel, Typescipt, Node, React를 제가 사용하고 있기 때문에 제 상황에 아주아주 적절한 테스팅 프레임워크라고 판단했습니다. 이러한 이유로 공식문서를 읽어가며 함수에 대한 테스트 코드를 만들고 이젠 class에 대해 테스트 코드를 만들고 테스트를 실행했는데!! FAIL이 떠버립니다. 안되는 이유는 다양하니 어떤 이유로 안 되.. 2021. 3. 16.
[타입스크립트] 제네릭에 대하여 다음 코드를 한번 살펴보겠습니다. 들어온 number type의 arg를 그대로 돌려주는 함수가 있습니다. function identity(arg : number) : number { return arg; } 근데 number type 뿐만 아니라 string type이라면, 또는 boolean type이라면 어떻게 할까요? function identityNum(arg : number) : number { return arg; } function identityString(arg : string) : string { return arg; } function identityBoolean(arg : boolean) : boolean { return arg; } 이렇게 하나씩 구현을 하는 건 누가 봐도 멍청해.. 2021. 3. 15.
[자바스크립트] 객체에 조건부로 속성을 추가하는 방법에 대해 들어가며 가끔씩 조건에 따라 달라지는 객체가 필요할 때가 있습니다. If else로 하나씩 넣기 let obj = {} if(includeA) { obj = { a : 3, b : 3 } } else { obj = { b : 3 } } 코드 그대로 includeA가 true 이면 {a : 3} 이 포함되고 아니면 없는 경우인데요. 위의 예시처럼 if else로 조건을 추가할 경우에, 조건이 들어날수록 if else이 2배씩 늘어난다는 치명적인 단점이 있습니다. 삼항연산자로 넣어주기 그래서 일반적으로 아래와 같이 삼항연산자를 이용해 각 조건별로 값을 넣어주는 방식을 사용하기도 합니다. let includeA = true; let includeB = false; let obj = { a : includeA .. 2021. 2. 15.