TypeScript的satisfies关键字 前几天在看代码的时候,第一次遇到了 satisfies 关键字。 satisfies 会让编译器检查一个值是否满足指定类型(即能否被赋值给指定类型)。如果不满足,就会报错。举个例子: 1234567891011type User = { name: string;};const goodUser = { name: "Tom",} s 2026-07-12 JavaScript #JavaScript #语言特性 #TypeScript
Python的yield from关键字 yield from + 生成器在 Python 中,如果想在一个生成器中把另一个生成器的值传递出去,一种方法是用 for 循环逐个消费生成器的值并 yield: 1234567891011def child(): yield 1 yield 2def parent(): yield 0 for value in child(): yield value 2026-07-12 Python #Python #语言特性
Go"魔丸"包命名法 在写 Go 时,如果项目中有一些子包,通常会保持目录名和文件头部的 package 名一致。但我突发奇想,如果两者不一样呢?遂做如下实验: 1234567891011121314151617181920212223242526272829$ tree.├── go.mod├── main.go└── myfolder └── myfile.go$ cat go.modmodule examp 2026-07-12 Go #语言特性 #Go
macOS 15重置本地网络权限 本文仅适用于搭载 Apple 芯片的 Mac。 该方法可能会影响其他配置,操作前请做好备份。 macOS 15 Sequoia 新增了本地网络权限,具体的位置在“系统设置 - 隐私与安全性 - 本地网络”。如果相关配置出现了问题,macOS 并未提供官方的重置方法。因此,下面记录一下我经过研究和 2026-07-12 macOS #macOS
macOS重置系统安装U盘 在 macOS 下用 balenaEtcher 之类的工具制作的系统安装 U 盘通常包含多个分区。如果想将它恢复成普通 U 盘,可以利用 macOS 自带的 diskutil 命令。 首先,列出所有磁盘,找到 U 盘对应的磁盘标识符,比如 disk5: 1diskutil list 接着,对 U 盘重新分区并格式化: 1diskutil eraseDisk ExFAT "Untitle 2026-07-12 macOS #macOS
Ant Design Form小记 大概三年前在使用 Ant Design 的 <Form> 时,产生了一些疑问,这里将解惑后的答案记录如下。 问:为什么 123<Form.Item shouldUpdate> {form.getFieldValue('name')}</Form.Item> 不会随表单值变化重新渲染以显示最新值,而 123<For 2026-07-11 JavaScript #JavaScript #React #Ant Design
Go的值接收者和指针接收者 Go 中没有类(class),类似的特性是结构(struct)。正如类可以有方法那样,结构也可以有方法。结构的方法有两种形式:值接收者(value receiver)和指针接收者(pointer receiver)。本文将讲一下它们的区别,以及我的个人理解。 区别一:能否修改原实例值接收者拿到的是实例的副本,在方法内部修改这个副本,不会影响原实例。指针接收者拿到的是实例的地址,因此可以修改原实例。 2026-07-10 Go #语言特性 #Go
JavaScript的this 在一些编程语言(如 Java、C#)中, this 可以在类中代表当前实例。而到了 JavaScript 这里,this 不只在类中出现,所代表的东西也变化多端,很难理解。本文将简单地梳理一下 JavaScript 中的 this。 概括地说,JavaScript 中 this 的值要看它出现在哪种函数中: 普通函数(function f() { ... }):this 的值 2026-07-01 JavaScript #JavaScript #语言特性
JavaScript的宏任务和微任务 JavaScript 是一个单线程的编程语言。为了能够处理异步任务(如定时器、I/O),它通过事件循环(event loop)来调度任务的执行。JavaScript 中存在两种异步任务:宏任务(macrotask)和微任务(microtask)。它们有各自的队列。 常见的宏任务包括: 脚本的执行 setTimeout() 的回调 setInterval() 的回调 用户事件回调 I 2026-06-28 JavaScript #JavaScript #语言特性
JavaScript的作用域和闭包 作用域用 var 关键字声明变量,作用域是当前函数或全局: 1234567function varDemo() { { var x = 1; } console.log(x); // 1}varDemo(); 而用 let/const 关键字声明变量或常量,作用域是当前代码块({ ... })或全局: 123456 2026-06-28 JavaScript #JavaScript #语言特性