news 2026/4/24 3:26:25

前端八股整理|JavaScript|高频小题 01

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
前端八股整理|JavaScript|高频小题 01

文章目录

  • 1.ts 类型, interface 和 type 区别
  • 2.数组有哪些常用的方法?说说他们的用途?

1.ts 类型, interface 和 type 区别

interface 和 type 都能描述类型,但侧重点不一样:

  • interface 更适合描述 对象结构、类、可扩展的 API 设计
  • type 更灵活,适合 类型别名、联合类型、交叉类型、基础类型、工具化组合

核心区别:

1.interface 支持声明合并,type 不支持

这个是非常经典的区别。

interfaceUser{name:string}interfaceUser{age:number}

最终会合并成:

interfaceUser{name:stringage:number}

2.interface 用 extends 扩展,type 常用交叉类型 &

interface 扩展

interfaceAnimal{name:string}interfaceDogextendsAnimal{bark:()=>void}

type 组合

type Animal={name:string}type Dog=Animal&{bark:()=>void}

两者都能实现“组合”,但写法不同,不过要注意一点:type 的 & 是交叉类型,如果两个同名属性冲突,可能会得到很奇怪的结果,甚至变成 never。

面试回答:

interface 和 type 都能描述类型,但 interface 更适合定义对象结构和可扩展的契约,支持声明合并与继承;type 更灵活,除了对象外,还能表示联合类型、交叉类型、元组、基础类型别名等复杂类型。实际开发里,描述对象结构我更常用 interface,做类型组合和联合时更常用 type。

2.数组有哪些常用的方法?说说他们的用途?

数组常用方法我一般按几类来记。
增删类:有 push、pop、shift、unshift,分别用于在数组头尾添加和删除元素;
遍历处理类:有 map、filter、reduce,其中 map 返回映射后的新数组,filter 用于筛选符合条件的元素,reduce 可以把数组累积计算成一个值;
截取类有: slice,用于截取数组的一部分且不改变原数组,splice 则可以在指定位置增删改元素,会修改原数组;
查找类:find、findIndex 用于查找元素,includes 判断数组中是否包含某个值,
其他的,join 可以把数组拼接成字符串,sort 用于排序,fill 用于用固定值填充数组。

拓展了解:

find 是找到第一个满足条件的元素本身,返回的是元素值,不是下标。参数是回调函数
findIndex 找到第一个满足条件的元素下标,返回的是索引。

constarr=[10,20,30]constres=arr.find(item=>item>15)console.log(res)// 20constres=arr.findIndex(item=>item>15)console.log(res)// 1
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/24 3:26:19

专业术语统计报告_交直流混联的多能微网多时间尺度实时协同调控方法研究

专业术语统计报告_交直流混联的多能微网多时间尺度实时协同调控方法研究 一、概要简析 【概要分析】 本文档《交直流混联的多能微网多时间尺度实时协同调控方法研究》围绕研究主题展开系统性的探讨。文档总字符数达235362,其中中文字符57246个,英文字词1…

作者头像 李华
网站建设 2026/4/24 3:25:20

Spring Cloud Alibaba 2026实战:微服务治理全解析

摘要:Spring Cloud Alibaba作为国内最主流的微服务治理框架,整合了阿里巴巴生态的核心组件,兼容Spring Cloud标准,凭借其稳定性、易用性和本土化适配优势,成为企业级微服务架构的首选方案。本文基于Spring Cloud Aliba…

作者头像 李华
网站建设 2026/4/24 3:25:16

深入理解 MCP (Model Context Protocol):构建 AI Agent 的标准化连接层

深入理解 MCP (Model Context Protocol):构建 AI Agent 的标准化连接层 摘要 随着大语言模型(LLM)能力的飞速发展,AI Agent 正在从单纯的“聊天机器人”向能够调用外部工具、访问实时数据的“智能体”演进。然而,不同工…

作者头像 李华
网站建设 2026/4/24 3:21:37

YOLOv11脑启发注意力机制实战:脉冲编码模拟人类视觉注意机制的完整指南

🎬 Clf丶忆笙:个人主页 🔥 个人专栏:《YOLOv11 工业级实战手册 》 ⛺️ 努力不一定成功,但不努力一定不成功! 文章目录 一、脑启发注意力机制与脉冲编码基础理论 1.1 人类视觉注意机制的生物学基础 1.2 脉冲编码的计算机实现原理 1.2.1 频率编码与时间编码 1.2.2 脉…

作者头像 李华
网站建设 2026/4/24 3:19:39

AI工程化设计(五)Agent设计范式(1)ReAct

一、介绍 1. 什么是 ReAct ReAct 是一种很经典的 Agent 设计范式,名字来自 Reason Act,也就是“推理 行动”。 它的核心思想并不复杂: 不要让模型一次性把答案“憋”出来,而是让它在任务过程中不断循环下面几个动作&#xff…

作者头像 李华
网站建设 2026/4/24 3:14:58

路由与请求:构建你的第一个API端点

004、路由与请求:构建你的第一个API端点 昨天深夜调试时遇到个典型问题:同事在Flask里定义了一个/predict路由,前端调用时却一直返回404。检查了半天,发现他把@app.route(/predict)写在了某个条件判断语句里面——Flask应用还没初始化完成,装饰器就失效了。这种问题新手常…

作者头像 李华