const allParams = elements.map(({ params }) => params);
// or
elements.forEach(({ params: { coup, x, y }) => { ... });
function add(number1, number2){
return number1 + number2;
}
// vs
function add({number1, number2}){
return number1 + number2;
}function add({number1, number2}){
return number1 + number2;
}
// vs
function add(obj){
return obj.number1 + obj.number2;
}ваш код просто менее читаем и хуже воспринимается визуально.
Сравнение должно быть таким:Да, пожалуйста :)
[generated bytecode for function: add]
Parameter count 2
Frame size 40
12 E> 000003F4184D6C42 @ 0 : a0 StackCheck
000003F4184D6C43 @ 1 : 27 02 fb Mov a0, r0
000003F4184D6C46 @ 4 : 25 fb Ldar r0
000003F4184D6C48 @ 6 : 97 06 JumpIfUndefined [6] (000003F4184D6C4E @ 12)
000003F4184D6C4A @ 8 : 25 fb Ldar r0
000003F4184D6C4C @ 10 : 96 10 JumpIfNotNull [16] (000003F4184D6C5C @ 26)
000003F4184D6C4E @ 12 : 0c 4d LdaSmi [77]
000003F4184D6C50 @ 14 : 26 f8 Star r3
000003F4184D6C52 @ 16 : 12 00 LdaConstant [0]
000003F4184D6C54 @ 18 : 26 f7 Star r4
000003F4184D6C56 @ 20 : 5e c1 00 f8 02 CallRuntime [NewTypeError], r3-r4
14 E> 000003F4184D6C5B @ 25 : a2 Throw
14 S> 000003F4184D6C5C @ 26 : 28 fb 00 00 LdaNamedProperty r0, [0], [0]
000003F4184D6C60 @ 30 : 26 fa Star r1
23 S> 000003F4184D6C62 @ 32 : 28 fb 01 02 LdaNamedProperty r0, [1], [2]
000003F4184D6C66 @ 36 : 26 f9 Star r2
37 S> 000003F4184D6C68 @ 38 : 25 f9 Ldar r2
52 E> 000003F4184D6C6A @ 40 : 32 fa 04 Add r1, [4]
62 S> 000003F4184D6C6D @ 43 : a4 Return
Constant pool (size = 2)
Handler Table (size = 0)[generated bytecode for function: add]
Parameter count 2
Frame size 8
12 E> 00000279C3FD6C52 @ 0 : a0 StackCheck
33 S> 00000279C3FD6C53 @ 1 : 28 02 00 01 LdaNamedProperty a0, [0], [1]
00000279C3FD6C57 @ 5 : 26 fb Star r0
47 E> 00000279C3FD6C59 @ 7 : 28 02 01 03 LdaNamedProperty a0, [1], [3]
41 E> 00000279C3FD6C5D @ 11 : 32 fb 00 Add r0, [0]
55 S> 00000279C3FD6C60 @ 14 : a4 Return
Constant pool (size = 2)
Handler Table (size = 0)Я разочарован, я надеялся увидеть пруф, а не оффтоп.