const之间的差异 a = value; vs const a = () => (值);

问题描述 投票:0回答:1

我想知道以下两个JS语句之间是否有任何差异(性能,内存使用),是否建议使用一个而不是另一个,以及背后的原因。

语句1(赋值)

const fooOne = { a: 1, b: 2 };
const barOne = fooOne;

语句2(使用函数表达式)

const fooTwo = () => ({ a: 1, b: 2 });
const barTwo = fooTwo();

两个语句产生相同的结果:

console.log(barOne); // outputs {a: 1, b: 2}
console.log(barTwo); // also outputs {a: 1, b: 2}
javascript performance javascript-objects
1个回答
0
投票

在这种情况下,使用箭头函数(大部分)是语句 1 的迂回方式。

更改一个变量会更改另一个变量,语句类型为 1:

const fooOne = { a: 1, b: 2 };
const barOne = fooOne;
barOne.a = 3;

// 3, 3
// Note: "const" object is modified
console.log(barOne.a, fooOne.a)


const fooTwo = () => ({ a: 1, b: 2 });
const barTwo = fooTwo();
barTwo.a = 3;

// 3, 1
console.log(barTwo.a, fooTwo().a)
© www.soinside.com 2019 - 2024. All rights reserved.