反转基因福娃 发表于 2024-12-6 23:08:57

3、Typescript学习——小知识

一、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}`);

});

// 输出:

// 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 => ]);


console.log(entries);// 输出: [['apple', 10], ['banana', 20], ['cherry', 5]]

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 3、Typescript学习——小知识