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

前端面试问题

1.js和ts的区别

  • 类型系统:JavaScript是动态类型的语言,变量的类型在运行时确定;而TypeScript是静态类型的语言,变量的类型在声明时确定。
  • 编译:JavaScript是解释型语言,代码直接在浏览器中运行;而TypeScript需要先编译成JavaScript,然后在浏览器中运行。
  • 工具和生态系统:由于TypeScript有静态类型和编译步骤,开发者可以利用这些特性构建更强大和可维护的工具和生态系统,例如类型检查、自动完成、重构工具等。

2.git 代码合并

# 切换到目标分支

git checkout target-branch

# 将一个分支的更改“重放”到当前分支

git rebase source-branch

3.type 和interface的区别

在TypeScript中,官方推荐使用interface来定义对象类型,因为它提供了更多的灵活性和自动合并的功能。然而,在需要定义联合类型、元组或复杂类型别名时,type是不可或缺的

总结:在定义对象类型时,如果需要利用接口的继承、合并等特性,可以选择interface;在定义基本类型、联合类型、元组等复杂类型时,type则更为灵活和方便

4.ts枚举怎么定义

enun info{aa=1,bb=2}

5.watch和computed的区别

  • ‌computed优先场景‌:
    1. 需要将多个响应式数据组合为新值(如姓名拼接)。‌‌
    2. 需要缓存计算结果避免重复计算(如复杂公式运算)。‌‌
  • ‌watch适用场景‌:
    1. 需要执行异步操作(如API请求)。‌‌
    2. 需要深度监听对象内部变化(需配置deep: true)。‌‌
    3. 需要根据数据变化触发副作用(如浏览器尺寸调整)。‌‌

6.ref和reactive的区别

  1. 数据类型支持‌。

    • ref:可包装任何类型(基本类型如字符串、数字,或对象/数组),返回含.value的响应式对象。‌‌‌
    • reactive:仅接受对象或数组,返回代理对象,直接访问属性。‌‌
  2. 访问方式‌。

    • ref:在JavaScript中需通过.value操作(如count.value++),模板中自动解包。‌‌‌‌
    • reactive:直接访问属性(如state.count),无需额外语法。‌‌
  3. 设计用途‌。

    • ref:适合独立值或需整体替换的场景(如计数器)。‌‌
    • reactive:适合复杂对象或嵌套数据结构(如用户信息表单)。‌‌

进阶差异

  • 响应式机制‌:ref通过对象包装实现,reactive基于Proxy深度代理。‌‌
  • 解构问题‌:reactive解构会丢失响应性,需配合toRefsref解构后仍保留.value。‌‌
  • 性能考量‌:ref对单一值更新更轻量,reactive深度监听可能带来额外开销。‌‌

使用建议

  • 基本类型或需频繁替换的值优先用ref
  • 复杂对象且需深度响应时选择reactive
  • 团队应统一规范以避免混用导致的维护问题。‌‌

7.eslint的作用

ESLint是一个用于识别和修复JavaScript/TypeScript代码中问题的静态代码分析工具,主要作用是提升代码质量、统一编码风格并推行最佳实践

http://www.xdnf.cn/news/16174.html

相关文章:

  • 【GoLang#2】:基础入门(工具链 | 基础语法 | 内置函数)
  • day 35打卡
  • IMU的精度对无人机姿态控制意味着什么?
  • 避开算力坑!无人机桥梁检测场景下YOLO模型选型指南
  • SQL基础⑭ | 变量、流程控制与游标篇
  • 【Linux】进程切换与优先级
  • Qt 多媒体开发:音频与视频处理
  • 从“人工眼”到‘智能眼’:EZ-Vision视觉系统如何重构生产线视觉检测精度?
  • C++与Hive、Spark、libhdfs、ACID交互技巧
  • 无需 Root 关闭联网验证 随意修改手机名称(适用于OPPO、一加、真我)
  • 【矩阵专题】Leetcode48.旋转图像(Hot100)
  • ServletRegistrationBean相关知识点
  • 网络爬虫技术详解
  • MYSQL高可用集群搭建--docker
  • 2025年广东省公务员体检体测要求是什么?有哪些项目?
  • MybatisPlus-17.扩展功能-JSON处理器
  • 环境变量-进程概念(7)
  • 训练数据集太小?你需要 SetFit
  • 【Redis】初识Redis(定义、特征、使用场景)
  • vue项目创建流程
  • 进程控制->进程替换(Linux)
  • 【Linux/Ubuntu】VIM指令大全
  • 【STM32项目】智能家居(版本1)
  • 数据写入因为汉字引发的异常
  • SAP-PP-MRPLIST
  • [python][flask]flask中session管理
  • C语言————原码 补码 反码 (试图讲清楚版)
  • AWS CAF:企业云转型的战略指南
  • Go语言环境搭建与VS Code开发配置
  • 服务端处于 TIME_WAIT 状态的 TCP 连接,收到相同四元组的 SYN 后会发生什么?详解