一、Typescript中 null || undefined 的返回值是什么?
在 TypeScript 中,表达式 null || undefined 的返回值是 undefined。
原因:这是因为在使用逻辑或 (||) 操作符时,如果左边的操作数是 null、undefined、false、0、NaN 或空字符串 (""),那么它会被视为“假”值(false),这时逻辑或操作符会返回右边的操作数。在这个例子中,左边是 null,这是一个假值,以是运算会继续检查右边的值 undefined 并最终返回 undefined。
简单来说:
- null 被以为是一个 false 值。
- 当 null 作为 || 左侧的操作数时,由于它是 false,因此 || 会尝试返回右侧的值。
- 右侧的值为 undefined,这也是一个 false 值,但根据 || 的规则,即使右侧也是 false,它也会被直接返回。
二、在Typescript中 null、undefined、false、0、NaN 或空字符串 (""),那么它会被视为“假”值(false)
三、Typescript中的Object.keys
在 TypeScript 中,Object.keys 是一个非常有用的方法,它用于获取对象所有可枚举属性的键名,并将这些键名以数组的情势返回。这个方法对于处理对象数据、进行属性迭代等场景非常有资助。下面是 Object.keys 的使用方法及其一些常见应用场景
1、基本用法
Object.keys 接受一个对象作为参数,并返回一个字符串数组,该数组包含了给定对象自身的所有可枚举属性的名称(包括继承自原型链上的属性,如果它们是可枚举的话)。
- const obj = { a: 1, b: 2, c: 3 };
- console.log(Object.keys(obj)); // 输出: ['a', 'b', 'c']
复制代码 注意事项:
- 只会返回对象自身的可枚举属性。
- 不包括不可枚举属性和继承来的属性(除非这些属性被设置为可枚举)。
- 如果通报的不是一个对象,则会先尝试将其转换成对象。如果转换失败或者结果是一个原始值,则抛出 TypeError。
2、实际应用示例
(1)遍历对象的所有键值对
如果你想要遍历一个对象的所有键值对,可以结合 Object.keys 和 Array.prototype.forEach 来实现:
- const person = { name: "Alice", age: 25, city: "New York" };
- Object.keys(person).forEach(key => {
- console.log(`${key}: ${person[key]}`);
- });
- // 输出:
- // name: Alice
- // age: 25
- // city: New York
复制代码 (2)检查对象是否为空
有时候我们需要检查一个对象是否为空,即没有任何自己的属性。这可以通过判断 Object.keys 返回数组的长度来完成:
- function isEmpty(obj: object): boolean {
- return Object.keys(obj).length === 0;
- }
- console.log(isEmpty({})); // true
- console.log(isEmpty({ key: 'value' })); // false
复制代码 (3)将对象转换成键值对数组
有时可能需要将对象转化为键值对情势的数组,如许方便于某些操作如排序等:
- const data = { apple: 10, banana: 20, cherry: 5 };
- const entries = Object.keys(data).map(key => [key, data[key]]);
- console.log(entries); // 输出: [['apple', 10], ['banana', 20], ['cherry', 5]]
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |