Object([])是什么?做?

凯尔达

在MDN中一些用于某些数组原型功能的polyfill示例中,有以下两行(例如:https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find):

var list = Object(this);
var length = list.length >>> 0;

我认为第一个示例是自动装箱(?)。但是,如果this总要成为一个数组,它的目的是什么

第2行与以下内容有何不同:

var length = list.length || 0;

谢谢!

丹尼斯·塞古雷

这样就可以在遵循规范的情况下,在非数组对象上以严格模式调用函数(使用callapply)。

如果它是的实例Array或类似数组的对象,则不会更改任何内容。

但是在这里,由于此行确保list对象遵循this不为null的检查undefined,并且由于其他值不会使以下访问失败(除了Object(this)无法解决的非常特殊的情况,如失败的访问器),我不是确实有一点。也许是在检查之前设置的,或者只是在特殊的本机对象的情况下才在此处设置。另一种可能性是,它(太?)严格按照规范进行操作,并希望将其应用于Object

list.length >>> 0|| 0四舍五入到最接近的低位正整数(32位范围内)要好我不确定为什么>>不在这里使用它,因为迭代直到4294967295而不是-1(即不浪费时间)似乎并不更好。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

做mongorestore时,“太多的位置选择”是什么意思?

来自分类Dev

做window.undefined = window.undefined的意义是什么

来自分类Dev

putchar('0'+ num)是什么?做?

来自分类Dev

Vehicle other =(Vehicle)obj;是什么?做?

来自分类Dev

> |是什么 做bash?

来自分类Dev

位置更新后做某事的最佳实践是什么?

来自分类Dev

做多次ors的pythonic方法是什么?

来自分类Dev

“ new int [];”是什么?做?

来自分类Dev

这是什么意思:if(variable){/ *做某事* /}

来自分类Dev

在python中做“松散耦合”的正确方法是什么?

来自分类Dev

cout <<“ \ n” [a == N]是什么?做?

来自分类Dev

char c [2] = {[1] = 7}是什么?做?

来自分类Dev

命令“ node”是什么?做?

来自分类Dev

#tty是什么?在STDIN上的意思是/在红宝石中做?

来自分类Dev

是什么@enablesns @enablesqs注释做(春云AWS)?

来自分类Dev

做这些括号调用对象时,是什么意思?

来自分类Dev

是什么?在Dart做?

来自分类Dev

从'导入{}是什么。做?

来自分类Dev

在pygame中做陷阱的有效方法是什么?

来自分类Dev

做多线程的最佳方法是什么?

来自分类Dev

“ |”是什么 在吉顿(Jython)做

来自分类Dev

“ new int [];”是什么?做?

来自分类Dev

Bash:“> |是什么 做?

来自分类Dev

ls -l是什么?做吗?

来自分类Dev

别名which ='alias是什么?... 做?

来自分类Dev

'(...)是什么?= $ 1:$ 2'在Perl做吗?

来自分类Dev

回声$是什么?做?

来自分类Dev

TEXT公式的格式是什么?做?

来自分类Dev

docker inspect -f是什么?做?