Comments (2)
This is working as intended.
The first is a distributive conditional type. Check the documentation about conditional types. This is unrelated to keyof
.
In your G
case T[K]
results in a union of all property types, so string | number
, and this does not extend string
, so you end up with false
.
In your F
case you have a distributive conditional type over K
, so you run the conditional type for each property type and end up with a union. So basically you have (string extends string ? true : false) | (number extends string ? true : false)
. This type resolves to true | false
and then is simplified to boolean
.
from typescript.
Thank you for your reply. I think I misunderstood some concept of distributive conditional logic. I'll check it out once more. I'll close this as completed.
from typescript.
Related Issues (20)
- [ServerErrors][TypeScript] 5.5.0-dev.20240428 HOT 12
- [ServerErrors][JavaScript] 5.5.0-dev.20240428 HOT 9
- Strange runtime caching bug involving `as const` and `const T` generic HOT 1
- When relatively importing a `.d.ts` file in a declaration file, TypeScript loads a `.ts` file instead HOT 7
- Calling decorators with @ loses type safety with function as argument HOT 2
- Include error maps in the typescript libraries for web apis to give developers easy access to potential thrown exceptions HOT 5
- jsdoc @type does not resolve a type
- Removing `node_modules`, running `npm ci` leaves diagnostics behind in ts and tsconfig files
- Module resolution: typeRoots key conflict in cache HOT 2
- JSDoc @import not detecting use in @callback HOT 2
- Segmentation fault on Node.js 22 HOT 26
- Constraint in generic type forgotten in assignability check
- tsc crash with "TypeError: Cannot read properties of undefined (reading 'flags')" HOT 5
- TS hangs up entire computer, type of variables stuck at "Loading..."
- Use properties of main object as context parameter of function that belongs to property of main object
- staging-typescript website downtime HOT 4
- Unnecessary any returned from Object.values and Object.entries HOT 10
- Missing reachability error on non-const enum
- Iterators/Generators, next(), and unsafe yield statement types
- Type inference: is that a bug? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from typescript.