V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  xiaoming1992  ›  全部回复第 30 页 / 共 41 页
回复总数  809
1 ... 26  27  28  29  30  31  32  33  34  35 ... 41  
2020 年 1 月 6 日
回复了 xiaoming1992 创建的主题 程序员 请问 typescript 类型声明问题?
@a132811 熬夜狗枯辣😭
2020 年 1 月 6 日
回复了 xiaoming1992 创建的主题 程序员 请问 typescript 类型声明问题?
interface TMap {
"a": (w: number) => any
"b": (w: number | string) => any
"c": (w: Date) => any
}

function fn2<T extends keyof TMap, F extends TMap[T]>(w: T, fn: F) {
// 这儿错了,不能直接调用 fn(1)
// 当 w == "c"时,fn 不能接受 1 作为参数
console.log(w, fn(1))
}

// 你看看,如果上面执行 fn(1)
// 那你这么调用是不是就 errer 了?
fn2("c", (w: Date) => w.getDate())

// 手机打字好累...
2020 年 1 月 6 日
回复了 xiaoming1992 创建的主题 程序员 请问 typescript 类型声明问题?
@a132811 TMap["a"]确实没问题,可是 TMap["c"]是有问题的啊。你在定义 fn2 的时候,console.log(a, fn(1)),不能 fn(1),因为 fn 可能只能接受 Date,你把函数的形参全部改成 w,就能发现自己哪里的问题了
瞎 jer 写,很快就上万行了
2020 年 1 月 5 日
回复了 xiaoming1992 创建的主题 程序员 请问 typescript 类型声明问题?
@a132811 你这个 fn(1),TMap["c"]是不能接受 1 这个参数的啊。你是 abc 看懵了吧,把 fn2 里面的参数 a 改成 w 或者其他什么符号就清楚一点了
2020 年 1 月 4 日
回复了 xiaoming1992 创建的主题 程序员 请问 typescript 类型声明问题?
@EridanusSora 我就是不想用重载啊...

@wi 真·大佬!我一直在想前面的 T 怎么限定,大佬一个 extends 就解决了,感谢!
2020 年 1 月 4 日
回复了 xiaoming1992 创建的主题 程序员 请问 typescript 类型声明问题?
@wisebeer 大佬!大佬![抱拳]
@H15018327040 看文档说不可以,自己试了试,也确实不可以啊?
@H15018327040 谢谢,protected 就可以啊
@giuem 不太懂,用 Symbol 的话,难道是
```javascript
const SymbolProp = Symbol("some prop")

class A {
[SymbolProp]: "some val";
}
```
如果是这样的话,我得把 SymbolProp 导出去,子类要用这个属性,还得从这儿导入才能用吗?那这样就有些麻烦了哦
@H15018327040 #7 可以吗?我看文档不能访问的啊(好像只是在 ts 的语法里限制访问,从 js 引用过来之后强行访问还是可以访问的,好像?我没看过转换后的源码,不过这就够了)
感谢大家,是 protected
2020 年 1 月 2 日
回复了 onfuns 创建的主题 程序员 为什么程序员一说到转行就说去卖早餐!?
@Lin0936 我卖钢丝球好了😄
2020 年 1 月 1 日
回复了 yafoo 创建的主题 程序员 2020 年零点已过,我的个人博客正式上线
这速度快的一匹啊
2019 年 12 月 30 日
回复了 cnbattle 创建的主题 程序员 老哥们,帮看看简历,哪里需要改改的
@Myprincess 人家是 4 年。。。
2019 年 12 月 30 日
回复了 eabet 创建的主题 JavaScript JS 闭包如何传参的问题
你这都写的什么东西,搞个 markdown 语法,至少分个行吧?

回复里面好像用不了 markdown,你只能将就着看了

```
function getInstallInfo() {
return new Promise((resolve, reject) => {
const openinstall = api.require('openinstall');
openinstall.getInstall({ timeout:10 }, (ret, err) => {
if (err) {
reject(err)
} else {
resolve(ret)
}
});
})
}

getInstallInfo()
.then((val) => {
alert(JSON.stringify(val))
})
.catch((err) => {
console.error(err)
})
```
虽然代码是这样的,但是这些东西你都不能直接用,因为 Promise 有兼容性问题,箭头函数需要转译,所以,你再看看这方面(webpack + babel)的东西吧。
2019 年 12 月 28 日
回复了 xiaoming1992 创建的主题 程序员 为什么会“学不动”呢?
会了可能不涨,但不会一定不涨,咸鱼就咸鱼吧
@feikaras
2019 年 12 月 27 日
回复了 xiaoming1992 创建的主题 程序员 为什么会“学不动”呢?
@hsuvee 可是微信是始作俑者,然后才有了支付宝、百度、头条等
1 ... 26  27  28  29  30  31  32  33  34  35 ... 41  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1981 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 25ms · UTC 10:03 · PVG 18:03 · LAX 02:03 · JFK 05:03
♥ Do have faith in what you're doing.