6. Abstract Operations 抽象操作 ( 一 )

theoden
2023-09-21 23:58:07

抽象操作並不是語言的一部分，它們存在的目的是協助 ECMAScript 規範定義語言實踐的細節，類似於語言中的方法，如 Array.prototype.find()，抽象操作僅在規範中被使用

Type Conversion 型別轉換

語言會根據需要進行自動型別轉換為了澄清某些構造的語義，定義一組轉換抽象操作是有用的轉換抽象操作是多態的；它們可以接受任何ECMAScript語言類型的值但是，這些操作不與其他規範類型一起使用

ToPrimitive

抽象操作 ToPrimitive 接受參數 input（一個 ECMAScript 語言值）和可選參數 preferredType（字符串或數字），並返回包含 ECMAScript 語言值的正常完成或拋出完成它將其輸入參數轉換為非物件類型如果對象能夠轉換為多個原始類型，則可以使用可選提示 preferredType 來優先考慮該類型