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

TS和JS的区别

1.TS和JS的区别 

ts 是js的超集。

  • 从执行环境上来看,浏览器、node.js 可以直接执行js,但不能执行ts;
  • 编译层面,Ts 有编译阶段,js 没有,只有转译阶段和lint阶段;
  • ts更难写一点,但类型更安全。
  • ts 代码写出来就是文档,IDE可以完美提示,js本身是没有区别的。

2. any/ never/unknow的区别

any 和  unknown是顶级类型,never 是底类型。前者可以被赋值为任何类型,后者不能

用法区别:unknown 比any 的类型检查更严格。

3. type 和interface 的区别?

假设type和interface都能用的情况下,你会用哪个?

对象相关用interface,与对象不相关用type。

  • 组合方式:interface 搭配extends来实现继承,type 使用& 来实现联合类型;
  • 扩展方式:interface 可以重复声明用来扩展,type一个类型只能声明一次;
  • 范围不同:type 适用于基本类型,interface 一般不行;
  • 命名方式:interface 会创建新的类型名,type 只是创建类型别名,没有创建新的。例如:

4. 工具类型的作用和实现

Partial 是部分类型,Required 是必填类型,Readonly 只读类型,Exclude 排除类型,Extract 提取类型,Omit 排除key类型,ReturnType 返回值类型。

type Dir='东'|'西'|'南'|'北'
type Dir2=Exclude<Dir,'北'>  //Dir2='东'|'南'|'西'
type Dir3=Extract<Dir,'北'>  //Dir3='北'

ps:Exclude 用于基本类型,Omit 用于对象类型。

相关文章:

TS和JS的区别

1.TS和JS的区别 ts 是js的超集。 从执行环境上来看&#xff0c;浏览器、node.js 可以直接执行js,但不能执行ts;编译层面&#xff0c;Ts 有编译阶段&#xff0c;js 没有&#xff0c;只有转译阶段和lint阶段&#xff1b;ts更难写一点&#xff0c;但类型更安全。ts 代码写出来就是…...

顺序栈的实现----数据结构

栈的概念 对于栈&#xff08;Stack&#xff09;&#xff0c;后进先出&#xff08;Last In First Out&#xff0c;LIFO&#xff09;&#xff0c;栈也是一种线性表&#xff0c;只不过是一种操作受限的线性表&#xff0c;只能在一端操作&#xff0c;也就是不允许在中间进行查找、…...

k8s calico 网络原理

一、cluster ip Cluster IP 是 Kubernetes 中 Service 的 IP 地址&#xff0c;它是一个虚拟 IP 地址&#xff0c;用于集群内的 Pod 相互通信。 例如&#xff1a; Cluster IP&#xff1a;2.2.2.2负载的真实Pod IP&#xff1a;1.1.1.1 场景&#xff1a; Pod A 的 IP 地址是 …...

【Python学习笔记】循环

Python中有两种类型的循环: while 循环 和 for 循环 1. while 循环 while循环是&#xff1a; 检查一个条件表达式&#xff0c;只要条件表达式计算结果为True 时&#xff0c; 就执行下面缩进的代码。 如此反复&#xff0c;直到条件表达式计算结果为False时&#xff0c;结束 循…...

1 如何入门TensorFlow

近年来人工智能的火爆吸引了很多人&#xff0c;网上相关的热门课程报名的人很多&#xff0c;但是坚持下去的人却少。那些晦涩的原理没有一定知识的积累很难能理解。 如果你对人工智能感兴趣&#xff0c;且想利用人工智能去实现某项功能&#xff0c;而不是对人工智能本身感兴趣&…...

QTday02(常用类、UI界面下的开发、信号与槽)

今日任务 1. 使用手动连接&#xff0c;将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中&#xff0c;在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中&#xff0c;在槽函数中判断ui界面上输入的账号是否为"admin"&#x…...

自然语言处理---RNN经典案例之使用seq2seq实现英译法

1 seq2seq介绍 1.1 seq2seq模型架构 seq2seq模型架构分析&#xff1a; seq2seq模型架构&#xff0c;包括两部分分别是encoder(编码器)和decoder(解码器)&#xff0c;编码器和解码器的内部实现都使用了GRU模型&#xff0c;这里它要完成的是一个中文到英文的翻译&#xff1a;欢迎…...

Python【判断列表的存在与否关系】

要求&#xff1a;使用列表判断一个列表是否在另外一个列表中 代码如下&#xff1a; list1 [1, 2, 6, 8, 7, 10, 5] print("列表1为&#xff1a;", list1) list2 [2, 6, 5, 10] print("列表2为&#xff1a;",list2) res False a 0 for i in list2:if …...

MyBatis篇---第三篇

系列文章目录 文章目录 系列文章目录一、如何执行批量插入?二、Xml映射文件中,除了常见的select|insert|updae|delete标签之外,还有哪些标签?三、MyBatis实现一对一有几种方式?具体怎么操作的?一、如何执行批量插入? 首先,创建一个简单的insert语句: <insert id=”…...

uview1.0部分机型u-input组件禁用后无法触发click事件

最近&#xff0c;线上的一个 App 收到用户反馈&#xff0c;输入框禁用状态下点击无法拉起模态框。找了一下身边可用机型进行了测试&#xff0c;起初所有机型都没有复现这个问题&#xff0c;突然有一天 Redmi K30S Ultra 出现了异常&#xff0c;点击输入框无法触发点击事件&…...

Arduino IDE + Esp32 Cam + 实现视频流 + 开发环境部署

1、开发环境 Arduino ide 版本&#xff1a;2.2.1 esp32工具&#xff1a;2.0.5 示例代码 #include "esp_camera.h" #include <WiFi.h>// // WARNING!!! PSRAM IC required for UXGA resolution and high JPEG quality // Ensure ESP32 Wrover Modu…...

Day4力扣打卡

打卡记录 同积元组&#xff08;哈希表 排列组合&#xff09; 链接 思路&#xff1a;用哈希表将数组中出现的两不同数乘积依次记录&#xff0c;将出现两次以上的乘积组通过排列组合计算总情况个数。 class Solution { public:int tupleSameProduct(vector<int>& num…...

Paper Reading:《Consistent-Teacher: 减少半监督目标检测中不一致的伪目标》

目录 简介工作重点方法ASA, adaptive anchor assignmentFAM-3D, 3D feature alignment moduleGMM, Gaussian Mixture Model实施细节 实验与SOTA的比较消融实验 总结 简介 题目&#xff1a;《Consistent-Teacher: Towards Reducing Inconsistent Pseudo-targets in Semi-supervi…...

设计模式:观察者模式(C#、JAVA、JavaScript、C++、Python、Go、PHP)

简介&#xff1a; 观察者模式&#xff0c;它是一种行为型设计模式&#xff0c;它允许一个对象自动通知其依赖者&#xff08;观察者&#xff09;状态的变化。当被观察者的状态发生改变时&#xff0c;它会通知所有的观察者对象&#xff0c;使他们能够及时做出响应。在观察者模式…...

kotling构造函数

Kotlin-继承与构造函数 - 简书 (jianshu.com) Kotlin语言中的继承与构造函数&#xff08;详解&#xff09;_kotlin 继承 构造函数_young螺母的博客-CSDN博客...

SpringMVC - 详解RESTful

文章目录 1. 简介2. RESTful的实现3.HiddenHttpMethodFilter4. RESTful案例1、准备工作2、功能清单3、具体功能&#xff1a;访问首页a>配置view-controllerb>创建页面 4、具体功能&#xff1a;查询所有员工数据a>控制器方法b>创建employee_list.html 5、具体功能&a…...

html表格标签

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body><!--表格table 行 tr 列 td --> <table border"1px"><tr> <!--colsp…...

Node.JS---npm相关

文章目录 前言一、package.json配置项version&#xff1a;1.0.0devDependenciesdependenciespeerDependenciesoptionalDependencies 二、npm命令1、npm config listxmzs使用2、npm installpackage-lock.json作用 3、npm run4、 查看全局安装的可执行文件 npm生命周期npxnpx简介…...

Flutter的Don‘t use ‘BuildContext‘s across async gaps警告解决方法

文章目录 问题有问题的源码 问题原因问题分析Context的含义BuildContext的作用特殊情况 解决方法 问题 Flutter开发中遇到Don’t use BuildContext’s across async gaps警告 有问题的源码 if (await databaseHelper.isDataExist(task.title)) {showDialog(context: context,…...

Nginx 实战教程

本篇博客我会演示日常的工作中&#xff0c;我们是怎么利用nginx部署项目的。我们以部署一套前后分离的项目为本次讲述的内容 一、搭建后端项目 创建一个最简单的springboot项目&#xff1a; 只需要依赖一个web模块即可&#xff1a; 提供一个api接口&#xff0c;可以获取服务端…...

CSS实现盒子阴影扩散效果_调整box-shadow的模糊半径

box-shadow 的模糊半径&#xff08;blur-radius&#xff09;控制边缘柔和度&#xff0c;不改变阴影尺寸&#xff1b;真正实现“扩散”需依赖扩展半径&#xff08;spread-radius&#xff09;&#xff0c;二者配合使用才能获得自然的光影效果。box-shadow 模糊半径越大&#xff0…...

微信小程序的校园快递代取系统

目录同行可拿货,招校园代理 ,本人源头供货商微信小程序校园快递代取系统功能分析用户端功能配送员端功能后台管理功能扩展功能项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作同行可拿货,招校园代理 ,本人源头供货商 微信小程序…...

Grove多气体传感器原理与嵌入式实战指南

1. 项目概述Grove - Multichannel Gas Sensor 是一款面向嵌入式环境监测应用的多气体检测模块&#xff0c;由 Seeed Studio 推出&#xff0c;核心传感元件为 SGX Sensortech&#xff08;原 Figaro&#xff09;生产的 MiCS-6814 多气体金属氧化物&#xff08;MOX&#xff09;传感…...

手把手调试RH850G3KH中断控制器:INTC1/INTC2寄存器配置避坑手册

手把手调试RH850G3KH中断控制器&#xff1a;INTC1/INTC2寄存器配置避坑手册 在汽车电子控制单元&#xff08;ECU&#xff09;开发中&#xff0c;中断处理的实时性和可靠性直接关系到系统稳定性。RH850G3KH作为Renesas旗舰级车规MCU&#xff0c;其双中断控制器架构&#xff08;I…...

Rustup进阶指南:5个高效管理Rust工具链的实战技巧

Rustup进阶指南&#xff1a;5个高效管理Rust工具链的实战技巧 【免费下载链接】rustup The Rust toolchain installer 项目地址: https://gitcode.com/gh_mirrors/ru/rustup Rustup作为Rust官方工具链安装器&#xff0c;让开发者能够轻松管理多个Rust版本、切换发布渠道…...

【智算中心+数据中心+机房+算力】1300余份AIDC智算中心+IDC数据中心+机房建设+算力方案报告合集

AIDC智算中心是AI时代的关键基础设施&#xff0c;其高功率密度、液冷散热、RDMA网络及算力池化调度等特征&#xff0c;与传统IDC形成显著差异。在政策强力支持、市场需求爆发、技术持续迭代的背景下&#xff0c;我国AIDC产业正迎来规模化、绿色化、普惠化的战略机遇期。企业应把…...

3步快速解决Windows系统卡顿问题:开源清理工具让电脑重获新生

3步快速解决Windows系统卡顿问题&#xff1a;开源清理工具让电脑重获新生 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服&#xff01; 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 你是否曾经面对C盘爆红的警告束手无策&a…...

C# NetTopologySuite+ProjNet 实现复杂几何图形坐标转换实战

1. 为什么需要坐标转换&#xff1f; 在地理信息系统&#xff08;GIS&#xff09;开发中&#xff0c;我们经常会遇到不同坐标系之间的数据转换问题。比如你拿到一份建筑用地红线图&#xff0c;用的是地方坐标系&#xff0c;而地图平台要求使用国家2000坐标系&#xff0c;这时候就…...

安全智能:MongoDB EF Core 提供程序中的可查询加密和向量搜索牙

一、各自优势和对比 这是检索出来的数据&#xff0c;据说是根据第三方评测与企业数据&#xff0c;三款产品在代码生成质量上各有侧重&#xff1a; 产品 语言优势 场景亮点 核心差异 百度 Comate C核心代码质量第一&#xff1b;Python首生成率达92.3% SQL生成准确率提升35%&…...

直流无刷减速电机驱动控制的关键技术与安全设计

1. 直流无刷减速电机驱动基础 第一次接触直流无刷减速电机时&#xff0c;我被它安静高效的特性惊艳到了。相比传统有刷电机&#xff0c;这种电机通过电子换相取代了机械电刷&#xff0c;寿命直接提升5-10倍。但真正上手驱动时&#xff0c;发现里面门道比想象中复杂得多。 核心在…...