본문 바로가기
반응형

프로그래밍 언어22

[TypeScript] 타입스크립트 알아보기 (1) 쓰는 이유와 타입의 종류 요새는 사람인을 보던 잡플래닛을 보던 프론트엔드건 백엔드건 거의 무조건 타입스크립트를 쓰는 것 같다. 자바스크립트와는 여러 가지 차이점이 있겠지만 제일 큰 차이는 자바스크립트에 타입을 부여했다는 것이다. (그래서 타입스크립트인거겠지...) 그렇다면 왜 타입스크립트를 쓰는 것일까? 에러의 사전 방지 잘 알려졌다시피 자바스크립트는 타입이 동적으로 할당이 된다. 그로 인해 많은 문제가 발생하는데 이렇게 덧셈을 하는 코드가 있다고 하자. 근데 만약 개발자의 실수든 뭐든 해서 밑에 코드가 다음과 같이 바뀐다면 말도 안되는 답이 나오는 것이다. 이런 에러가 발생할 일이 있겠냐고 생각할 수도 있겠지만 개발을 하다보면 동적 타입에 의한 문제는 생각보다 많이 튀어나오게 된다. 즉 타입스크립트는 이런 문제를 막아준다. 위.. 2023. 8. 22.
[JS] 자바스크립트 reduce()를 알아보자 코딩 테스트를 풀던 중 정수 배열이 주어지고 평균 값을 구하라는 문제가 나왔다. 사실 너무 쉬운 문제이다. 단순 반복문을 사용하지 않고 reduce를 사용했다. 이 reduce 함수는 배열의 각 요소에 대해 주어진 리듀서(reducer) 함수를 실행하고, 하나의 결과값을 반환한다. 구조는 다음과 같은데 callback은 배열의 각 요소에 대해 실행할 함수를 의미한다. 다음 네 가지 인자를 가지게 되는데 accumulator - 누산기라고 할 수 있다. 즉 콜백의 반환값을 누적하게 된다. currentValue - 처리할 현채 요소 index(Optional) - 배열의 현재 요소의 인덱스 array(Optional) - 호출한 배열 즉 위 풀이에서 sum이 accumulator이고 cur이 current.. 2023. 7. 28.
[TS] 타입스크립트에서 Wrapper 객체 타입 피하기 프로젝트를 하던 도중 이런 에러가 떴다. 이 부분에서 문제가 생긴거 같은데 isDeleted의 타입은 Boolean이였기 때문에 문제가 없어 보였다. 하지만 타입스크립트에서는 객체 Wrapper 타입을 지양한다. 객체 Wrapper 타입이란 대문자로 시작하는 타입인데 (Number, String, Boolean, Object 등) 반대는 원시타입이 있다.(number,string,boolean,object 등) 원시타입들은 객체 타입이 아니고 단순 데이터 타입이기 때문에 데이터를 저장한다. 즉 프로토타입이 없고 메서드도 없다. 하지만 자바스크립트에서는 이 원시 타입에 메소드를 사용하고는 하는데 이는 자바스크립트 엔진에서는 형 변환이 이루어지기 때문에 가능하다. 위 사례처럼 메서드를 사용하게 되면 순간적으.. 2023. 5. 16.
[JS] import와 require의 차이 자바스크립트를 사용해서 프로젝트를 진행하다가 어떤 모듈을 불러오기 위해 import를 사용했지만 에러가 뜨면서 require를 사용하라고 메세지가 뜬적이 있다. 그 둘의 차이를 알아보자. 기본적으로 import와 require는 모듈 키워드이다. 즉 외부 파일이나 라이브러리를 불러올 때 사용한다. 다만 require는 NodeJS에서 사용하고 있는 CommonJS 키워드이고 import는 ES2015에서 새롭게 도입된 키워드이다. 둘 다 같은 목적을 가지고 있지만 위 이미지처럼 다른 문법 구조를 지니고 있다. 요새는 ES6가 많이 쓰여 import가 주로 사용되고 있지만 태그를 사용하는 브라우저 환경이나, CommonJS를 기본으로 채택하고 있는 NodeJS 등이 있기 때문에 100% import로 대체.. 2023. 5. 15.
반응형