news 2026/10/6 18:54:53

第083篇 作用域函数五兄弟:let、run、with、apply、also

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第083篇 作用域函数五兄弟:let、run、with、apply、also

let、run、with、apply、also这五个作用域函数,语法上都是"把一段代码包起来",但它们的组合有 2×2 两种维度共四种,加上with构成五兄弟。答这题靠背表格没用——从定义出发(参数式 vs 接收者式、返回旧对象 vs 返回新值)就能自己推出这五个的行为,不需要背。

先把结论放在前面:两个维度决定一切。维度一:对象怎么进来——let/also把值作为参数传(it),run/apply/with把值作为接收者(this)。维度二:返回什么——also/apply返回原对象(用于链式中间步),let/run返回lambda 的结果(用于变换)。with特殊:它不是扩展函数而是普通函数,参数是接收者,返回 lambda 结果。组合起来就是:let=参数+新值、also=参数+原对象、run=接收者+新值、apply=接收者+原对象。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/6 18:50:57

Java类与继承

Java 面向对象:类的继承(extends)与重写 前言 这是学习Java类与继承的笔记,用动物作为父类,狗,猫作为子类进行一个示范。本篇记录继承相关的基础知识。 环境 JDK 17IntelliJ IDEA纯 Java 项目(未…

作者头像 李华
网站建设 2026/10/6 18:29:56

工业测距传感器选型实战:激光/超声波/毫米波三大方案深度对比

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/6 18:29:23

Type-C线材故障根因:CC引脚与E-MARK芯片深度解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华