【发布时间】:2018-06-01 14:16:38
【问题描述】:
例如:snippet img
var a = {1: '1', 2: '2'}
var b = {3: '3', 4: '4'}
Object.assign({}, a, b)
> {1: "1", 2: "2", 3: "3", 4: "4"}
Object.assign({}, b, a)
> {1: "1", 2: "2", 3: "3", 4: "4"}
有没有办法禁用排序?
【问题讨论】:
-
您应该考虑未排序的对象。你依赖事物的顺序,使用数组。
-
对象属性没有顺序,那么“排序”是什么意思?
-
@Bergi:你知道这不再是真的了。 :-)(在实际使用中,即使是不需要遵循顺序的操作也在所有主要的 JavaScript 引擎上都这样做。)
-
@T.J.Crowder 在所有 JS 引擎上,但不是在所有 JS 转译器上
-
@slebetman:很好。与任何其他语言功能一样,如果为旧引擎进行转译,您需要了解可以和不可以填充或转换的内容。
标签: javascript ecmascript-6 ecmascript-5