在这篇文章中,我们将学习之间的区别valueOf()和 key 在TypeScript.
ValueOf()方法
这valueOf()TypeScript中的方法用于返回指定数字对象的原始值。
用法:
number.valueOf();
示例 1:在这个例子中,我们使用了ValueOf()方法.
Javascript
// valueOf()
let num = new Number(30);
console.log(num.valueOf());
输出:
30
示例 2:在这个例子中,我们使用了 valueOf() 方法.
Javascript
// valueOf() method
let num4 = new Number(563);
console.log("Number Method: tovalueOf()");
console.log(typeof num4 )
console.log(num4 )
console.log(num4 .valueOf())
输出:
Number Method: tovalueOf()
number
[Number: 563]
563
操作符键
在 TypeScript 中,keyof 运算符用于将类型的键提取为联合类型。它是一个类型运算符,允许您访问对象类型或接口的键。
用法:
type KeysOfType = keyof ObjectType;
例子:在这个例子中,我们定义了一个接口人具有三个属性:姓名年龄,和性别。我们还定义了一个变量人类型的人具有一些值。接下来我们定义一个函数获取属性它采用 T 类型的对象 obj 和 K 类型的键,其中 K 扩展 keyof T。这意味着 key 必须是对象 obj 的键之一。在 getProperty 函数中,我们只是返回 obj[key] 的值。最后,我们通过使用 person 对象和各种键(例如 “name”, “age” 和 “gender” )调用 getProperty 函数来测试它。正如我们在输出中看到的那样,所有三个调用都成功。
Javascript
interface Person {
name: string;
age: number;
gender: string;
}
const person: Person = {
name: "John",
age: 25,
gender: "male",
};
function getProperty<T, K extends keyof T>(obj: T, key: K) {
return obj[key];
}
console.log(getProperty(person, "name")); // "John"
console.log(getProperty(person, "age")); // 25
console.log(getProperty(person, "gender")); // "male"
输出:
John
25
male
TypeScript中valueof和keyof的区别
特征 | valueOf |
keyof |
---|---|---|
目的 | 获取对象的原始值 | 获取属性名称的联合类型 |
用法 | 对象实例方法 | 类型定义中的 TypeScript 运算符 |
示例 | typescript class MyObject { valueOf() { return this.value; } } |
typescript type MyType = { name: string; age: number; city: string; }; type MyKeys = keyof MyType; |
适用性 | 一般 JavaScript 用法,不特定于 TypeScript | TypeScript-specific,在通用编程场景中特别有用 |
返回类型 | 通常返回原始值(例如数字、字符串) | 返回所有属性名称的联合类型 |
相关用法
- TypeScript Number toExponential()用法及代码示例
- TypeScript Number toFixed()用法及代码示例
- TypeScript Number toPrecision()用法及代码示例
- TypeScript Number toString()用法及代码示例
- TypeScript String charAt()用法及代码示例
- TypeScript String charCodeAt()用法及代码示例
- TypeScript String concat()用法及代码示例
- TypeScript String indexOf()用法及代码示例
- TypeScript String lastIndexOf()用法及代码示例
- TypeScript String localeCompare()用法及代码示例
- TypeScript String replace()用法及代码示例
- TypeScript String search()用法及代码示例
- TypeScript String slice()用法及代码示例
- TypeScript String split()用法及代码示例
- TypeScript String substr()用法及代码示例
- TypeScript String substring()用法及代码示例
- TypeScript Array every()用法及代码示例
- TypeScript Array filter()用法及代码示例
- TypeScript Array forEach()用法及代码示例
- TypeScript Array indexOf()用法及代码示例
- TypeScript Array join()用法及代码示例
- TypeScript Array lastIndexOf()用法及代码示例
- TypeScript Array map()用法及代码示例
- TypeScript Array push()用法及代码示例
- TypeScript Array reduce()用法及代码示例
注:本文由纯净天空筛选整理自amanv09大神的英文原创作品 Difference Between valueof and keyof in TypeScript。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。