chrome devtools device toolbar responsive mode 에서 마우스 포인터 사용하기2020. 8. 14.
Step 1

Step 2

Step 3

Done!

vscode에서 preview mode로 파일 열리지 않게하기2020. 8. 13.
vscode에서 file explorer나 search를 통해 찾은 파일을 클릭하면 탭에서 italic으로 파일명이 표시되면서 preview mode로 열리고, 같은 방식으로 다른 파일을 열면 preview mode였던 파일은 사라진다. 때때로 그래서 귀찮은 일이 생기는데, 이것을 막으려면 settings.json에 아래를 추가하면 된다.
{
"workbench.editor.enablePreview": false,
}{
"workbench.editor.enablePreview": false,
}...근데 이렇게 해놓고 무작정 다 열다 보면 램이 터질 수 있다...
Unexpected use of 'isNaN'. (eslintno-restricted-globals), Argument of type 'string' is not assignable to parameter of type 'number'. ts(2345)2020. 8. 12.
let val = '123'
isNaN(val) // nah! Argument of type 'string' is not assignable to parameter of type 'number'. ts(2345)
isNaN(123) // nah! Unexpected use of 'isNaN'. (eslintno-restricted-globals)let val = '123'
isNaN(val) // nah! Argument of type 'string' is not assignable to parameter of type 'number'. ts(2345)
isNaN(123) // nah! Unexpected use of 'isNaN'. (eslintno-restricted-globals)then use
Number.isNaN(val) // yay!Number.isNaN(val) // yay!U+001D2020. 8. 6.
:active on mobile safari2020. 8. 5.
-
webkit-tap-highlight-color쓰기 -> 근데:active랑 동작이 다름 -
body에
<body ontouchstart="">넣기 -
필요한 컴포넌트에
onTouchStart={() => false}넣기
Array._proto__.length2020. 8. 5.
js array는 object이고 length 프로퍼티를 갖고 있다. 그래서 아래가 가능.
const {length, [0]: first, [length - 1]: last} = [1, 2, 3];
console.log(first, last); // 1 3const {length, [0]: first, [length - 1]: last} = [1, 2, 3];
console.log(first, last); // 1 3주의: length를 선언해두지 않으면 length - 1을 알 수 없고 last가 undefined 되어버림.
Get list of globally installed packages2020. 8. 4.
npm:
npm list -g --depth 0npm list -g --depth 0yarn:
yarn global list --depth 0yarn global list --depth 0"Type aliases can only be used in TypeScript files.ts(8008)" in .js files2020. 8. 3.
vscode가 flow type 정의에 .ts가 아닌데 타입 머시기가 있다고 깝치는 에러. settings.json에 아래를 추가한다.
"javascript.validate.enable": false "javascript.validate.enable": falsesymlinks2020. 8. 2.
path 의 alias 라고 생각하면 쉽다.
ln -s /PATH/TO/ORIGINAL /PATH/TO/LINKln -s /PATH/TO/ORIGINAL /PATH/TO/LINKDeclaring Global Variables in TypeScript2020. 7. 31.
daum 주소검색등 window에 뭔가 끼워넣는 외부 기능 사용시, window.someApi등으로 호출하게 될 때가 있는데, TS에서 당연히 Property 'someApi' does not exist on type 'Window & typeof globalThis'. 라고 뭐라고 한다. 요걸 해결하기 위해 보통은:
(window as any).someApi(window as any).someApi혹은
(<any>window).someApi(<any>window).someApi를 쓰라고 하는데 아래가 더 나은 것 같다.
declare global {
interface Window {
someApi: any; // 혹시 타입 정의를 제공해준다면 somApiType
}
}declare global {
interface Window {
someApi: any; // 혹시 타입 정의를 제공해준다면 somApiType
}
}요게 되는 것은 interface는 merging이 되기 때문.
Ref.
https://mariusschulz.com/blog/declaring-global-variables-in-typescript