반응형

TypeScript 22

"K extends key of T"와 "key of T"를 직접 사용하는 것의 차이점은 무엇입니까?

"K extends key of T"와 "key of T"를 직접 사용하는 것의 차이점은 무엇입니까? 다음 유형 스크립트 정의 간에 차이가 있습니까? function prop(obj: T, key: K) { return obj[key]; } 그리고. function prop2(obj: T, key: keyof T) { return obj[key]; } 아니요, 하지만 제가 감독한 게 있을지도 몰라요.첫 번째 버전(문서에서 자주 사용됨)을 사용할 수 있는 이점이 있습니까?차이점은 첫 번째 경우 반환 유형이T[K]두 번째 경우에는 그럴 것입니다.T[keyof T].K될 수 있는 한 가장 넓은 것은keyof T키를 나타내는 특정 문자열 리터럴 유형일 수 있습니다.이것은 만약을 의미합니다.K반환 값이 속성과 동..

programing 2023.07.17

인터페이스에 클래스 바인딩

인터페이스에 클래스 바인딩 타이프스크립트를 사용하여 클래스를 쉽게 바인딩할 수 있습니다. bootstrap(MyAppComponent, [MyClass]); 그러나 다음과 같은 인터페이스에 클래스를 바인딩하고 싶습니다. boostrap(MyAppComponent, [???]); 다음과 같이 주입할 수 있습니다. class MyAppComponent { constructor(my_class : IMyClass){ } }; Angular2에서 이것이 가능합니까?그렇다면 바인딩을 지정하려면 어떻게 해야 합니까?간단히 말해서, 문제는 유형 스크립트가 컴파일될 때 인터페이스가 사라진다는 것입니다.따라서 문자열과 함께 @Inject를 사용해야 합니다. 또는 다른 옵션이 있습니다. Victor Savkin의 마지막 ..

programing 2023.07.02

TypeScript에서 부울을 숫자로 캐스팅하는 방법(예: 0 또는 1)

TypeScript에서 부울을 숫자로 캐스팅하는 방법(예: 0 또는 1) 우리가 알고 있는 바와 같이 타입캐스트는 타입스크립트에서 어설션 타입이라고 불립니다.다음 코드 섹션: // the variable will change to true at onetime let isPlay: boolean = false; let actions: string[] = ['stop', 'play']; let action: string = actions[ isPlay]; 컴파일 시 오류가 발생합니다. Error:(56, 35) TS2352: Neither type 'boolean' nor type 'number' is assignable to the other. 그리고 나서 저는 그것을 사용하려고 합니다.any유형: let..

programing 2023.07.02

GraphQL 스키마에서 맵 개체를 정의하는 가장 좋은 방법은 무엇입니까?

GraphQL 스키마에서 맵 개체를 정의하는 가장 좋은 방법은 무엇입니까? 개체 배열로 키 문자열을 매핑하려고 합니다. 간단한 개체를 만들 수 있지만 이러한 배열에 개체를 쉽게 추가하고 싶습니다.맵 개체는 이 작업에 적합합니다. 문제:그래프에 대한 유형 맵을 정의하는 방법을 모르겠습니다.QL :'( @ObjectType() export class Inventaire @Field() _id: string; @Field() stocks: Map; } GraphQL은 기본적으로 지도 유형을 제공하지 않습니다.키-값 쌍의 JSON BLOB에는 강력한 스키마가 없으므로 다음과 같은 스키마를 사용할 수 없습니다. { key1: val1, key2: val2, key3: val3, ... } 그러나 GraphQL 스..

programing 2023.07.02

cshtml 파일에서 TypeScript 사용

cshtml 파일에서 TypeScript 사용 Razor cshtml 파일에 TypeScript를 사용할 수 있는 방법이 있는지 궁금합니다. 예를 들어, 이런 것. 가능합니다.저는 타입스크립트를 자바스크립트로 즉시 자동 컴파일하는 타입스크립트 컴파일러를 개발했습니다.한 번 해보세요!TypeScript는 런타임이 아니라 JavaScript로 교차 컴파일됩니다.따라서 TypeScript를 작성하고 컴파일한 다음 JavaScript 스크립트 태그 내에 포함하거나 외부 파일로 포함해야 합니다.롭스의 답변에 덧붙이자면, 페이지 다운로드에 타이프스크립트 컴파일러를 내장하고 브라우저 컴파일 코드를 작성하는 것이 기술적으로 가능하다는 것입니다.꼬리표 그러나 성능은 최적이 아니며 서버에서 사전 컴파일하는 것이 좋습니다...

programing 2023.07.02

Chrome이 변경 시 Typescript 원본 파일을 업데이트하지 않는 이유는 무엇입니까?

Chrome이 변경 시 Typescript 원본 파일을 업데이트하지 않는 이유는 무엇입니까? 저는 최신 Web Essentials를 IDE로 하는 Visual Studio 2012를 사용하여 TypeScript(0.9.1) 프로젝트를 진행하고 있으며, Chrome Developer 도구를 사용하여 디버깅하고 있습니다. 최근, 그리고 아마도 크롬 업데이트 이후일 것입니다.버전 29.0.1547.66 m), typeScript 파일은 편집 후 업데이트되지 않으며, 반면에 해당 컴파일된 js 파일은 업데이트되지만, 어떻게든 업데이트되지 않은 소스 버전에 따라 기능이 달라지는 것 같습니다. 시도한 솔루션과 실패한 솔루션: 전체 솔루션을 재구성합니다. Chrome의 로컬 호스트 사이트 하드 리프레시(Shift +..

programing 2023.06.27

TS2339: '포함' 속성이 '문자열' 유형에 없습니다.

TS2339: '포함' 속성이 '문자열' 유형에 없습니다. 나는 문자열 배열과 관련하여 언급된 이 오류를 본 적이 있지만 실제 문자열은 아닙니다.나는 라인이 있는 TypeScript 파일을 가지고 있습니다. if (!bus.lineInfo.PublishedLineName.includes(input)) { 이것은 나에게 오류를 줍니다. TS2339: Property 'includes' does not exist on type 'string'. bus다음을 구현하는 변수입니다.bus인터페이스: interface bus { "lineInfo": { "PublishedLineName": string, "DestinationName": string, // The headsign of the bus "Color":..

programing 2023.06.22

Typescript/JSX with React에서 화살표 기능이 있는 제네릭을 사용하는 방법은 무엇입니까?

Typescript/JSX with React에서 화살표 기능이 있는 제네릭을 사용하는 방법은 무엇입니까? Visual Studio에서 ".ts" 파일에 입력하는 Typescript를 사용하여 다음 선언을 고려합니다. export const foo = (myObject: T) => myObject.toString(); 이것은 잘 작동하고, 유형 검사도 괜찮고, 모든 것이 좋습니다. 이제 정확하게 동일한 코드를 JSX 및 React에 사용되는 ".tx" 파일에 넣습니다. IntelliSense는 를 React JSX 요소로 만들려고 하기 때문에 매우 화가 나서 불평합니다.하지만 제 의도는 컴파일러가 그것을 제네릭 형식 지정자로 취급하도록 하는 것입니다. 컴파일러에서 다음 문제가 발생합니다. [gulp-ty..

programing 2023.06.17

.ts에서 Angular detect If 확인란이 선택되어 있습니다.

.ts에서 Angular detect If 확인란이 선택되어 있습니다. Angular 4를 사용하고 있으며 구성 요소의 HTML 템플릿 파일에 확인란이 있습니다. 구성 요소의 .ts 파일에 true로 설정된 값이 있습니다. toggleEditable() { this.contentEditable = true; } 문제는 확인란이 선택된 경우에만 값을 변경하는 것입니다. 따라서 다음과 같이 표시됩니다. toggleEditable() { if (checkbox is checked) { this.contentEditable = true; } } 어떻게 해야 하나요?확인이 필요합니다.event.target.checked이 문제를 해결하기 위해.이를 실현할 수 있는 방법은 다음과 같습니다. 구성 요소의 .ts에서:..

programing 2023.06.12

@nestjs/passport를 사용한 Nest.js의 선택적 인증

@nestjs/passport를 사용한 Nest.js의 선택적 인증 인증된 사용자와 인증되지 않은 사용자가 사용해야 하는 경로가 있습니다.사용합니다@UseGuards(AuthGuard('jwt'))인증을 사용하도록 설정하지만 인증되지 않은 사용자가 경로에 액세스하는 것을 방지합니다(일반). 인증되지 않은 사용자도 경로에 액세스할 수 있도록 하려면 어떻게 해야 합니까? 제가 넘겨줄 수 있는 옵션이 없는 것 같습니다.AuthGuard내 여권 전략에서 그것들을 되찾기 위해.예를 들어 기존 버전을 확장하여 자체 버전을 만들 수 있습니다. export class OptionalJwtAuthGuard extends AuthGuard('jwt') { // Override handleRequest so it never..

programing 2023.06.12
반응형