Comments (3)
I'm interested in seeing how this goes. I am also surprised that excess property checking would kick in here, or that there's seemingly no previous mention of this behavior in GitHub. It seems like such an obvious bug that surely people have encountered it before? What am I missing here?
from typescript.
My first thought was that maybe in an object literal all indices are treated as strings (as opposed to an array literal where you have implicit numeric indices). But if you remove the string index signature, the error goes away. So I guess you could say a string index signature takes precedence in an object literal, but whether that's by design or a bug... ¯\_(ツ)_/¯ dunno
from typescript.
I'm not 100% sure this is "fixable" in a great way, but someone can certainly try.
Previous issues have complained about inconsistencies between { 1: expr }
and { "1": expr }
, which "should" be identical since they have actually-identical runtime semantics, but the intent of this code is quite clear, plus the equivalent assignment works:
// ok
testObj[1] = { tKey: "tVal", sKey: "sVal" };
from typescript.
Related Issues (20)
- Nullish coalescing operator but for conditional types HOT 2
- Function generic unmatched: Matching hehavior is difference between arrow functions and normal function
- Method `concat` has wrong typization HOT 3
- Invalid type inference for optional chaining operator when nullish check is extracted to `const` varaiable HOT 2
- Inline type annotations for destructured properties using angle bracket syntax HOT 3
- Enum generic does not restrict union of possible objects where enum is defined HOT 8
- `const wrong = () => (1 < 3) as true // type: () => true` this should be an error. HOT 9
- "Organize Imports" should adjust specifiers based on preferences HOT 1
- TS 5.4.5: Return type for performance.getEntriesByType is inaccurate
- Lose generic when spreading `T | undefined` where T is a generic object type HOT 3
- [isolatedDeclarations][5.5] Optional parameter annotated with imported type has isolatedDeclarations error HOT 2
- Missing content in documentation FAQ section HOT 3
- Make property decorator fabrics share generics with corresponding methods HOT 2
- Generic type parameter not inferring properly HOT 1
- JSDoc `@private` on constructor without parameters is omitted in declaration files
- [API] Ability to check if a parameter is being passed to const type parameter
- Improve support for internal packages by resolving path aliases
- CommonJS globals permitted for ES module builds with no compiler error. HOT 4
- -
- Type predicate doesn't narrow down function overload (but assertion works) 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.