Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
4.3k views
in Technique[技术] by (71.8m points)

typescript - setting a type only for the value of an object

I have this object:

const theme = {}

This object is being filled by a function, this function adds a property to this object whenever it's called, the key it sets is a random number as a string, so "1", "31" and so on, and the value it sets is a string.

I was looking for something like this in TypeScript:

interface Theme {
    string: string
}
    
const theme: Theme = {}

const theFunction(){
   const key = `${Math.floor(Math.random() * 1000)}`;
   const value = "value";
   theme[key] = value;
}

The theFunction might get called at any unknown time,


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Your formatting is off. Change it to:

interface Theme {
  [key: string]: string;
}

const theme: Theme = {};

const theFunction = () => {
  const key = `${Math.floor(Math.random() * 1000)}`;
  const value = "value";
  theme[key] = value;
};

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...