您的位置:首页 > 文旅 > 美景 > 深圳响应式网页设计_企业网络推广搜索排名_搜索引擎营销的方法包括_下载安装百度一下

深圳响应式网页设计_企业网络推广搜索排名_搜索引擎营销的方法包括_下载安装百度一下

2024/12/23 7:50:14 来源:https://blog.csdn.net/u010257931/article/details/144268321  浏览:    关键词:深圳响应式网页设计_企业网络推广搜索排名_搜索引擎营销的方法包括_下载安装百度一下
深圳响应式网页设计_企业网络推广搜索排名_搜索引擎营销的方法包括_下载安装百度一下

一、Typescript中 null || undefined 的返回值是什么?

在 TypeScript 中,表达式 null || undefined 的返回值是 undefined

原因:这是因为在使用逻辑或 (||) 操作符时,如果左边的操作数是 nullundefinedfalse0NaN 或空字符串 (""),那么它会被视为“假”值(false),这时逻辑或操作符会返回右边的操作数。在这个例子中,左边是 null,这是一个假值,所以运算会继续检查右边的值 undefined 并最终返回 undefined

简单来说:

  • null 被认为是一个 false 值。
  • null 作为 || 左侧的操作数时,由于它是 false,因此 || 会尝试返回右侧的值。
  • 右侧的值为 undefined,这也是一个 false 值,但根据 || 的规则,即使右侧也是 false,它也会被直接返回。

二、在Typescript中 nullundefinedfalse0NaN 或空字符串 (""),那么它会被视为“假”值(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.keysArray.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({}));  // trueconsole.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]]

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com