전체 글(59)
-
TDI : 테스트 스위트 구축 1
함수의 실행을 검증하는 테스트 스위트
2022.03.07 -
프로젝트 빌드 TypeScript by npm
빈폴더 생성 - > 터미널접근 -> npm init - > 기본설정을 완료하면 - > package.json이 생성된다. (이곳에서 npm정보와 명령어 관리를 할수있다.) 타입스크립트를 사용할것임으로 npm i(install) typescript - npm설치 명령어를 통해서 typescript를 설치해준다. - > package-lock.json 생성 index.ts 에서 typescript가 정상적으로 작동한다. ts 파일을 js 파일로 변환시켜보자 ! 그냥 주먹구구식으로 npm tsc 했는데 안된다. 왜그럴까 생각해보니 어떻게 변환할것인지에 대한 명세가 없다. 그걸 설정해주는 파일을 만들자 tsconfig.json 이름이 정확히 일치해야 작동한다. 이곳 명세서에 target 과 source(inde..
2021.12.31 -
[TS] union 타입과 narrowing
narrowing to make something less wide 여라가지 타입이 모인 union타입의 경우를 파라미터값으로 사용시 narrowing을 사용하여 각 타입마다 조건을 걸어주어야한다. if(typeof x ==="string") 파라미터 x 가 string일경우 string일떄 실행할 내용 디버깅용 비상용 assertion type to type (X) types to type (O) union같이 여러가지 타입이 있는것을 한가지로 특정할때..! x as string; 이런식으로 쓰는데 narrowing해서 if문 쓰는게 정석임 assertion 버그추적 힘듬 = 타입스크립트의 취지와 역행함
2021.12.27 -
[TS] type 엄격성 (any , union , unknown 특이점 살펴보기)
자유도가 높다 = 에러메세지 안남 = 문제생겨도 어디서 생긴지 모름 자유도가 낮다 = 정해진 형식을 사용한다. = 형식에서 벗어나면 에러가난다.= 에러메세지가 나올때 더 정확하게 지적해준다. 타입스크립트 = 타입의 엄격성을 높힌 자바스크립트 여기서 타입이란 문자열,숫자,object,class,function,등등 언어라고생각 하기 보단. 일종의 툴이라고 생각하는게 맞다. any 타입과 unknown 타입의 차이점 any 는 자바스크립트를 안쓰는 거랑 똑같음 타입제한의 해제 를 뜻함 unknown은 타입제한의해제는 아님 unknown이라는 타입을 사용하는것 타입스크립트는 변수의 선언 부분에서 타입을 지정하여서 타입을 지정한다. (대부분은 할당 과정에서 자동으로 지정됨) 이렇게 지정된 타입은 let 변수A ..
2021.12.23 -
[TS] tsconfig 설정
{ "compilerOptions": { "target": "es5", // 'es3', 'es5', 'es2015', 'es2016', 'es2017','es2018', 'esnext' 가능 "module": "commonjs", //무슨 import 문법 쓸건지 'commonjs', 'amd', 'es2015', 'esnext' "allowJs": true, // js 파일들 ts에서 import해서 쓸 수 있는지 "checkJs": true, // 일반 js 파일에서도 에러체크 여부 "jsx": "preserve", // tsx 파일을 jsx로 어떻게 컴파일할 것인지 'preserve', 'react-native', 'react' "declaration": true, //컴파일시 .d.ts 파일도 ..
2021.12.23 -
[JS] key event 정리
key event keypress keydown keyup 알아낸것. 화살표 = keydown 계속 실행됨 글자 = keydown한번 실행후 keypress로 넘어감 계속 실행 = 오브젝트의 진행을 표현할수있을뜻 press로 넘어감 = press에 특정값을 넣어서 각 키에대한 설정 가능할뜻 의문점 console log 를 찍어보면 글자를 누를경우 keydown - > keypress 의 반복인데 innerhtml 에서 down , press 로 각각 설정해서 보면 keydown 은 안찍히고 press로만 유지가됨 .. 그러면 안되는거 아닌가 ? https://codepen.io/sky4564/pen/XWeavxm XWeavxm ... codepen.io
2021.12.22