- 主题:这段js代码缺分号竟然编译失败
var a = /123/, b = /123/;
console.log([a == b, a === b]); // 缺分号会报错
(function(){
var x = y = 1;
})();
console.log(y);
//console.log(x);
--
修改:Bolyai FROM 113.81.4.*
FROM 113.81.4.*
这不是废话么
foo(bar)(baz)();
foo(bar); (baz)();
哪种编译器能神奇的猜出来你居然想要后者而不是前者
【 在 Bolyai (p,v) 的大作中提到: 】
: [code=js]
: var a = /123/, b = /123/;
: console.log([a == b, a === b]); // 缺分号会报错
: ...................
--
FROM 115.188.67.*
前者是啥?
【 在 eGust (十年) 的大作中提到: 】
: 标 题: Re: 这段js代码缺分号竟然编译失败
: 发信站: 水木社区 (Thu Sep 9 11:30:32 2021), 站内
:
: 这不是废话么
:
: foo(bar)(baz)();
: foo(bar); (baz)();
:
: 哪种编译器能神奇的猜出来你居然想要后者而不是前者
:
: 【 在 Bolyai (p,v) 的大作中提到: 】
: : [code=js]
: : var a = /123/, b = /123/;
: : console.log([a == b, a === b]); // 缺分号会报错
: : ...................
:
: --
:
: ※ 来源:·水木社区 mysmth.net·[FROM: 115.188.67.*]
--
FROM 113.81.4.*
写 js 还是应该老实加分号。
现在不加分号流就是邪路。
【 在 eGust (十年) 的大作中提到: 】
: 这不是废话么
: foo(bar)(baz)();
: foo(bar); (baz)();
: ...................
--
FROM 110.81.42.*
const foo = (a, b, c, d) => a + b + c + d;
const bar = _.curry(foo);
> bar(1)(2)(3)(4)
< 10
currying 是非常基本的 fp 概念
【 在 Bolyai (p,v) 的大作中提到: 】
: 前者是啥?
--
FROM 115.188.67.*
原来如此,受教了!!
【 在 eGust (十年) 的大作中提到: 】
: 标 题: Re: 这段js代码缺分号竟然编译失败
: 发信站: 水木社区 (Thu Sep 9 13:34:05 2021), 站内
:
: const foo = (a, b, c, d) => a + b + c + d;
: const bar = _.curry(foo);
:
: > bar(1)(2)(3)(4)
: < 10
:
: currying 是非常基本的 fp 概念
:
: 【 在 Bolyai (p,v) 的大作中提到: 】
: : 前者是啥?
:
:
: --
:
: ※ 来源:·水木社区 mysmth.net·[FROM: 115.188.67.*]
--
FROM 113.81.4.*
话说,是不是如果我写
const foo = (a) => (b) => (c) => a + b + c;
的话,你就看不懂这代码是干啥的了?
【 在 Bolyai (p,v) 的大作中提到: 】
: 前者是啥?
--
FROM 115.188.67.*
真不懂,才学这玩意~
不过,既然你写了,大体还是可以猜测出来,就是上面那个 curry 化的方法吧
const foo = (a, b, c) => a + b + c;
【 在 eGust (十年) 的大作中提到: 】
: 标 题: Re: 这段js代码缺分号竟然编译失败
: 发信站: 水木社区 (Thu Sep 9 13:40:36 2021), 站内
:
: 话说,是不是如果我写
:
: const foo = (a) => (b) => (c) => a + b + c;
:
: 的话,你就看不懂这代码是干啥的了?
:
:
: 【 在 Bolyai (p,v) 的大作中提到: 】
: : 前者是啥?
:
:
: --
:
: ※ 来源:·水木社区 mysmth.net·[FROM: 115.188.67.*]
--
修改:Bolyai FROM 113.81.4.*
FROM 113.81.4.*
如果长期深入的用,就好好学学js的特性或技巧。
如果短期偶尔用下,就用大多语言标准通用的写法就行,别把其他语言的特性或
技巧带进来,自身的技巧也少用。 比如上面var a = b = xxx
curry你看看lodash curry源码,没几行。
【 在 Bolyai (p,v) 的大作中提到: 】
: 真不懂,才学这玩意~
: 不过,既然你写了,大体还是可以猜测出来,就是上面那个 curry 化的方法吧
: const foo = (a, b, c) => a + b + c;
: ...................
--
FROM 220.181.41.*
curry 远比这个复杂,bar(a, b, c) 或者 bar(a, b)(c) 都可以,甚至 placeholder:
const baz = bar(_, 1, 2); // baz(3) === bar(3, 1, 2)
const foo = (a) => (b) => a + b;
foo 是一个函数,接受一个参数。返回值也是一个函数(这里是个 closure),接受一个参数,返回一个加法结果
【 在 Bolyai (p,v) 的大作中提到: 】
: 真不懂,才学这玩意~
: 不过,既然你写了,大体还是可以猜测出来,就是上面那个 curry 化的方法吧
: const foo = (a, b, c) => a + b + c;
: ...................
--
FROM 115.188.67.*