国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

javascript - es6數值解構Number.prototype.toString is not generic

瀏覽:109日期:2023-04-27 14:18:21

問題描述

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>Document</title></head><body> <script>({toString:b} = 123);console.log(b === Number.prototype.toString); // trueconsole.log(Number.prototype.toString()); // 0console.log(b()); // Number.prototype.toString is not genericlet num = 456;console.log(num.b()); // num.b is not a function </script></body></html>

為什么b不能作為函數調用?

問題解答

回答1:

Number.prototype.toString 標準

The toString function is not generic; it throws a TypeError exception if its this value is not a Number or a Number object. Therefore, it cannot be transferred to other kinds of objects for use as a method.

翻譯一下后面的:

如果他的this值不是數字類型或者Number對象,將會拋出一TypeError

直接調用this是window你可以這么用:

b.call(1)b.call(Number(’test’))回答2:

你可以b.call(num),一般來說toString不允許作為普通函數執行很容易接受,就跟構造函數一般不作為普通函數執行一樣。ps:例子中的Number.prototype.toString()實際上作用域也是Number.prototype

補充一下,答題有點離題了,b()實際上是作為函數調用的,也調用成功了,錯誤是toString()自身拋出來的。

回答3:

Number.prototype.toString 可以作為函數調用但 this 一定要是 Number 類型。其他類型的 toString 同理。

b.call(123)// '123'

The toString function is not generic; it throws a TypeError exception if its this value is not a Number or a Number object. Therefore, it cannot be transferred to other kinds of objects for use as a method.

15.7.4.2 Number.prototype.toString

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 国产精品久久不卡日韩美女 | 欧美视频在线观看 | 特级毛片a级毛免费播放 | 国产一区二区三区亚洲综合 | 成人精品视频一区二区在线 | 91精品国产91 | 99久久精品免费看国产免费 | 色播亚洲精品网站 亚洲第一 | 欧美视频一区二区三区 | 亚洲久久天堂 | 91视频啪啪| 美女视频一区二区三区 | 97在线观看免费版 | 久久婷五月天 | 一级片一区 | 成年人三级网站 | 国产精品blacked在线 | 国产理论最新国产精品视频 | 欧美日本高清 | 日韩美女在线视频 | 亚洲片在线观看 | 九九精品免费 | 色香欲综合成人免费视频 | 国产欧美一区二区三区免费看 | 国产老鸭窝毛片一区二区 | 国产国语在线播放视频 | 久久99精品热在线观看15 | 亚洲精品福利一区二区三区 | 视频一区精品 | 日韩福利视频精品专区 | www.九九| 免费看一级欧美毛片视频 | 精品久久成人 | 国产九九精品视频 | 欧美另类极品 | 亚洲日本视频在线观看 | 一级特黄aa大片欧美网站 | 三级网站在线 | 亚洲黄色片网站 | 性夜黄a爽爽免费视频国产 性夜影院爽黄a爽免费看网站 | 亚洲看片|