noe132 最近的时间轴更新
noe132's repos on GitHub
1 人关注
react-scoped-css
CSS encapsulation solution for React
TypeScript · 0 人关注
atom-typescript
The only TypeScript package you will ever need
0 人关注
base16-tomorrow-dark-vscode
A VS Code theme based on Atom's base16-tomorrow-dark
JavaScript · 0 人关注
eslint-config
Vue · 0 人关注
eslint-plugin-vue-test
0 人关注
fp-ts
Functional programming in TypeScript
C · 0 人关注
mactype
Automatically exported from code.google.com/p/mactype
Vue · 0 人关注
namenone-chat
Looking for a description? Well, you get to the wrong place.
0 人关注
noe132
HTML · 0 人关注
noe132.github.io
noe132.github.io
JavaScript · 0 人关注
nuxt.js
The Vue.js Framework
JavaScript · 0 人关注
qr-image
Yet another QR code generator
CSS · 0 人关注
Quel-Thalas-Stock-Management
0 人关注
queue
A simple node asynchronous concurrent job queue.
TypeScript · 0 人关注
TypeScript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
JavaScript · 0 人关注
vue-loader
📦 Webpack loader for Vue.js components
JavaScript · 0 人关注
vue-style-loader
💅 vue style loader module for webpack
noe132

noe132

🏢  长沙大学 / 前端
V2EX 第 52249 号会员,加入于 2013-12-19 21:23:33 +08:00
今日活跃度排名 2000
根据 noe132 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
noe132 最近回复了
我的直觉是和 contravariance inference 有关,导致 b 覆盖了 a 的类型推导。不过我也不确定是不是一个 bug 。

declare function create<
Data,
A extends (d: Data) => unknown,
M = ReturnType<A>,
>(def: {
data: Data
a: A
b: (m: M) => void
}): [M, ReturnType<A>]


const s = create({
data: 0,
a: (data) => 100,
b: (m) => {},
})

declare function create2<
Data,
A extends (d: Data) => unknown,
M = ReturnType<A>,
>(
data: Data,
a: A,
b: (m: M) => void,
): [M, ReturnType<A>]


const s2 = create2(
0,
(data) => 100,
(m) => {},
)

这里在 create 中,M 和 ReturnType<A> 其实是 1 个 Type,但是 M 被用到 b 的参数后,就变成了 unknown
而在 create2 中,所有的参数都是一样的,只是把对象拆成了 3 个参数,此时 M 的类型被正确推导成了 number

https://www.typescriptlang.org/play?#code/CYUwxgNghgTiAEAzArgOzAFwJYHtXzDigxAB4AoeeAEWKgBpL4BBeEADxNWAGd4AKYAC4adAJTwAvAD54aANaocAd1SMqAWSnwASiAzIYqACoBPAA5lm0xtMEhEIgN5NgdEbQxQmUEcyYARiL8ALYiGhIy8ABuOFjA5AC+YiIA2hr0uvqGJhZW0gC65MVgeDwY8HySBEQk-C5Ubl4iAAzq8L4CTVCRsgCMLW2BwSG98E6JjMnFoJCwCCjo2Hg1IMQgAEwUVJ4MTKwcXLxdHuJSsgpKqu1a1XoGRmaWpNa2-K7uol7tncztQQIwvAIucYnFgIwUvB0pl7jknvkiiUyhUeBttIQ1iQNu8qEMqIIzlEBvjAWMJpDyEA
4 天前
回复了 hijoker 创建的主题 SSH 有没有这样的一个 ssh 命令行工具
ssh_config 就能做到。
5 天前
回复了 shintendo 创建的主题 TypeScript Typescript 里面,如何实现这样一个函数
const tool = {
a: (p: string) => '1',
b: (p: number) => 1,
c: (a: string, p: number, c: boolean) => true,
}

type Tool = typeof tool

const useTool = <K extends keyof Tool>(key: K, ...args: Parameters<Tool[K]>): ReturnType<Tool[K]> => {
return (tool[key] as any)(...args)
}

const a: string = useTool('a', '1')
const b: number = useTool('b', 1)
const c: boolean = useTool('c', '1', 2, true)
我有个容器需要在 host 上修改防火墙规则
我是在容器里 ssh 到 host 执行命令的。
9 天前
回复了 KomiSans 创建的主题 程序员 之前面试时遇到的一个有些奇怪的问题
https://www.wolframalpha.com/input/?i2d=true&i=solve+xSum%5BDivide%5B1000%2Cn%5D%2C%7Bn%2C1%2Cx%7D%5D+%3D+10000+x+%3E+0


解出来 x 并不为整数,约等于 12366.5
所以 12366 时小于 10000,12367 时大于 10000
17 天前
回复了 coolpace 创建的主题 问与答 Windows 字体在 4k 屏下显得很细,正常吗?
150%缩放效果并不好。推荐 200%
所以 windows 下不推荐买 32 寸 4k 开 150%而是推荐买 24/27 寸 4k 开 200%
xxx.d.ts 对应 xxx.js
你全放一个目录下那对应哪个文件呢?
37 天前
回复了 Aaron325 创建的主题 Windows 有没有那种一键迁移系统缓存位置的软件
打开 此电脑
右键 文档 -> 属性
点击 位置 -> 移动文件夹
关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1014 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 11ms · UTC 19:17 · PVG 03:17 · LAX 12:17 · JFK 15:17
♥ Do have faith in what you're doing.