当前位置: 首页 > news >正文

TypeScript常见面试题第六节

题目二十六:TypeScript 中的装饰器?

一、讲解视频

TS面试题二十六:TypeScript 中的可选链?

二、题目解析

  本题目考察可选链的相关知识,可选链是比较新的一个语法,是一种访问嵌套对象属性的安全的方式。即使中间的属性不存在,也不会出现错误。如果可选链 ?. 前面的值为 undefined 或者 null,它会停止运算并返回 undefined。
可选链 ?. 语法有三种形式:

  1. obj?.prop —— 如果 obj 存在则返回 obj.prop,否则返回 undefined。
  2. obj?.[prop] —— 如果 obj 存在则返回 obj[prop],否则返回 undefined。
  3. obj.method?.() —— 如果 obj.method 存在则调用 obj.method(),否则返回 undefined。
    正如我们所看到的,这些语法形式用起来都很简单直接。?. 检查左边部分是否为 null/undefined,如果不是则继续运算。

  ?. 链使我们能够安全地访问嵌套属性。

  但是,我们应该谨慎地使用 ?.,根据我们的代码逻辑࿰

相关文章:

TypeScript常见面试题第六节

题目二十六:TypeScript 中的装饰器? 一、讲解视频 TS面试题二十六:TypeScript 中的可选链? 二、题目解析 本题目考察可选链的相关知识,可选链是比较新的一个语法,是一种访问嵌套对象属性的安全的方式。即使中间的属性不存在,也不会出现错误。如果可选链 ?. 前面的值为…...

LeetCode 面试经典150题 228.汇总区间

题目: 给定一个 无重复元素 的 有序 整数数组 nums 。 返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 nums 的数字 x 。 列表中的每个区…...

大数据分析入门10分钟快速了解SQL

SQL是什么? SQL全称Structured Query Language(结构化查询语言”) 为什么要用SQL? SQL通用 常见的表格分析操作,Excel也能做,为什么不用呢? 因为处理上亿行大数据时,Excel并不够用。 而常见的大数据引…...

设置多用户远程登录windows server服务器

##设置多用户远程登录windows server服务器 ###1、远程登录windows server 2016 运行—>mstsc—>远程IP地址—>用户和密码 2、远程windows服务器设置多用户策略 运行—>gpedit.msc->计算机配置—管理模板—windows组件—远程桌面服务—远程桌面会话主机----连…...

一文了解栈

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、栈是什么?二、栈的实现思路1.顺序表实现2.单链表实现3.双向链表实现 三、接口函数的实现1.栈的定义2.栈的初始化3.栈的销毁4.入栈5.出栈6.返回栈…...

C语言----汉诺塔问题

1.什么是汉诺塔问题 简单来说,就是有三个柱子,分别为A柱,B柱,C柱。其中A柱从上往下存放着从小到大的圆盘,我们需要借助B柱和C柱,将A柱上的所有圆盘转移到C柱上,并且一次只能移动一个圆盘&#…...

Python中驼峰命名法和下划线命名法相互转换的实战代码

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…...

【hackmyvm】vivifytech靶机

渗透思路 信息收集端口扫描端口服务信息目录扫描爆破hydra--sshgit提权 信息收集 ┌──(kali㉿kali)-[~] └─$ fping -ag 192.168.9.0/24 2>/dev/null 192.168.9.119 --主机 192.168.9.164 --靶机个人习惯,也方便后续操作,将IP地址赋值给一个变…...

纯血鸿蒙APP实战开发——手写绘制及保存图片

介绍 本示例使用drawing库的Pen和Path结合NodeContainer组件实现手写绘制功能。手写板上完成绘制后,通过调用image库的packToFile和packing接口将手写板的绘制内容保存为图片,并将图片文件保存在应用沙箱路径中。 效果图预览 使用说明 在虚线区域手写…...

在什么情况下表单会被重复提交?如何避免?

表单被重复提交是Web应用中常见的问题,通常在用户提交表单后点击按钮多次,或在表单提交后刷新页面时发生。这可能导致数据的重复处理,比如重复记录或订单。 何时会发生表单重复提交? 用户多次点击提交按钮:在网络延迟…...

JavaScript 中的 Class 类

🔥 个人主页:空白诗 文章目录 🔥 引言🎯 基础知识🏗️ 构造函数 (Constructor)🔐 私有字段 (Private Fields)🔐 私有方法 (Private Methods)🧬 继承 (Inheritance)📦 静态…...

python实验三 实现UDP协议、TCP协议进行服务器端与客户端的交互

实验三 实验题目 1、请利用生成器构造一下求阶乘的函数Factorial(),定义一个函数m(),在m()中调用生成器Factorial()生成小于100的阶乘序列存入集合s中,输出s。 【代码】 def factorial():n1f1while 1:​ f * n​ yield (f)​ n1…...

ServiceNow 研究:通过RAG减少结构化输出中的幻觉

论文地址:https://arxiv.org/pdf/2404.08189 原文地址:rag-hallucination-structure-research-by-servicenow 在灾难性遗忘和模型漂移中,幻觉仍然是一个挑战。 2024 年 4 月 18 日 灾难性遗忘: 这是在序列学习或连续学习环境中出现…...

ADS基础教程10-多态性(动态模型选择)

目录 一、多态性定义二、操作步骤1.模型建立2.模型选择3.执行仿真 一、多态性定义 ADS中支持一个Symbol中,可以同时存在多个子图。在仿真时可以动态选择不同的子图继续宁仿真。 二、操作步骤 1.模型建立 在上一章A…...

代码随想录第四十六天|单词拆分

题目链接:. - 力扣(LeetCode)...

RabbitMQ的介绍和使用

1.同步通讯和异步通讯 举个例子,同步通讯就像是在打电话,因此它时效性较强,可以立即得到结果,但如果你正在和一个MM打电话,其他MM找你的话,你们之间是不能进行消息的传递和响应的 异步通讯就像是微信&#…...

前端get请求日期类型参数向后端传参失败

1、背景 get请求,通过url上传参,因此日期类型是string类型数据 2、异常信息 nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [java.time.LocalDate] for…...

【docker 】 push 镜像提示:denied: requested access to the resource is denied

往 Docker Registry &#xff08;私服&#xff09;push 镜像提示&#xff1a;denied: requested access to the resource is denied 镜像push 语法&#xff1a;docker push <registry-host>:<registry-port>/<repository>:<tag> docker push 192.16…...

浏览器各类好用插件使用及常见问题(技巧)总结

目录 Vimium C快捷键问题为什么Vimium C - 全键盘操作浏览器插件在百度页面中, x ,o,f等快捷键不起作用如何使用viminum c插件进行自定义快捷键?vimucm 为什么在浏览器首页时快捷键不起作用? 网页截图问题firefox 网页截图使用 idm问题浏览器点击idm 不下载? 待续、更新中 V…...

Python批量计算多张遥感影像的NDVI

本文介绍基于Python中的gdal模块&#xff0c;批量基于大量多波段遥感影像文件&#xff0c;计算其每1景图像各自的NDVI数值&#xff0c;并将多景结果依次保存为栅格文件的方法。 如下图所示&#xff0c;现在有大量.tif格式的遥感影像文件&#xff0c;其中均含有红光波段与近红外…...

全面掌握AMD Ryzen硬件调试:SMUDebugTool完整使用指南

全面掌握AMD Ryzen硬件调试&#xff1a;SMUDebugTool完整使用指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gi…...

如何在 5 分钟内集成 human-panic:为你的 Rust CLI 应用添加专业级错误处理

如何在 5 分钟内集成 human-panic&#xff1a;为你的 Rust CLI 应用添加专业级错误处理 【免费下载链接】human-panic Panic messages for humans. 项目地址: https://gitcode.com/gh_mirrors/hu/human-panic human-panic 是一个专为 Rust CLI 应用设计的错误处理库&…...

完全掌握JetBrains IDE试用期重置:从原理到实战的终极解决方案

完全掌握JetBrains IDE试用期重置&#xff1a;从原理到实战的终极解决方案 【免费下载链接】ide-eval-resetter 项目地址: https://gitcode.com/gh_mirrors/id/ide-eval-resetter 还在为JetBrains系列开发工具的试用期限制而困扰吗&#xff1f;IDE Eval Resetter为您提…...

B站视频转文字终极指南:5分钟掌握高效知识管理神器

B站视频转文字终极指南&#xff1a;5分钟掌握高效知识管理神器 【免费下载链接】bili2text Bilibili视频转文字&#xff0c;一步到位&#xff0c;输入链接即可使用 项目地址: https://gitcode.com/gh_mirrors/bi/bili2text 你是否曾为了一段精彩的B站课程内容&#xff0…...

RPG Maker MV Decrypter:解决游戏资源保护与合法访问的技术平衡方案

RPG Maker MV Decrypter&#xff1a;解决游戏资源保护与合法访问的技术平衡方案 【免费下载链接】RPG-Maker-MV-Decrypter You can decrypt RPG-Maker-MV Resource Files with this project ~ If you dont wanna download it, you can use the Script on my HP: 项目地址: ht…...

Polar SI9000实战:从叠层规划到阻抗计算,一次讲清四层板到八层板的阻抗控制核心

Polar SI9000实战&#xff1a;从叠层规划到阻抗计算&#xff0c;一次讲清四层板到八层板的阻抗控制核心 在高速PCB设计中&#xff0c;阻抗控制早已从"锦上添花"变成了"不可或缺"的基础要求。无论是USB3.0的90欧姆差分对&#xff0c;还是DDR4的40欧姆单端走…...

别再为调试发愁!FreeRTOS下STM32串口打印的三种实用方案(含USART3重定向避坑)

FreeRTOS下STM32串口调试的三大实战方案与深度优化指南 在嵌入式开发中&#xff0c;调试信息的输出如同黑夜中的灯塔&#xff0c;为开发者指明程序运行的轨迹。当FreeRTOS遇上STM32&#xff0c;串口打印这个看似基础的功能却可能成为项目推进的绊脚石。本文将带您深入探索三种经…...

PSoC时钟系统深度解析:从架构原理到配置避坑指南

1. 项目概述&#xff1a;为什么PSoC的时钟值得你花时间研究&#xff1f;如果你刚开始接触Cypress&#xff08;现Infineon&#xff09;的PSoC系列微控制器&#xff0c;可能会觉得它的开发环境PSoC Creator功能强大但有点复杂。在众多需要配置的模块里&#xff0c;时钟系统往往是…...

NotebookLM期刊推荐矩阵(含影响因子、APC费用、AI政策条款、平均一审周期——仅限本周开放下载)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;NotebookLM期刊推荐矩阵&#xff08;含影响因子、APC费用、AI政策条款、平均一审周期——仅限本周开放下载&#xff09; NotebookLM 作为 Google 推出的 AI 增强型研究协作者&#xff0c;近期正式开放其…...

Google:让鼠标学会「看见」这件事意味着什么#Magic Pointer

Google DeepMind发布的Magic Pointer&#xff08;AI Pointer&#xff09;让鼠标指针获得了视觉理解和语义推理能力。用户只需要指向画面中的某个对象并说出简短指令&#xff0c;AI就能理解意图并执行复杂操作&#xff1a;订餐、查路线、比价。这个看似简单的能力跃迁&#xff0…...