Skip to main content

Module props_methods

Module props_methods 

Source

Constants§

NFD_TABLE ðŸ”’
String.prototype.normalize(form)ES2015。䞞ごず欠萜しおおり、呌び出すず 「メ゜ッドが存圚しない」TypeError になっおいた。本来は Unicode 正芏化NFC/NFD/NFKC/NFKD を行うが、この no_std 環境には正芏化甚の Unicode 分解/合成テヌブルが無いため、form 匕数の 劥圓性怜蚌無効な倀は仕様どおり RangeErrorだけ行い、内容は元の文字列をそのたた返す 簡略実装合成枈み文字のみで構成された通垞の文字列であれば実質的に無害。 西欧蚀語の合成枈みラテン文字 ⇔ (基底文字, 結合分音笊) の察応衚。 フル Unicode Character Database分解衚・結合クラス・正芏順序付け・合成陀倖 リストを持たない no_std 環境では完党な NFC/NFD/NFKC/NFKD 実装は非珟実的な ため、実甚頻床の高いラテン語圏の分音笊付き文字フランス語・スペむン語・ ドむツ語・ポルトガル語等に限定した郚分実装ずする。
RADIX_DIGITS ðŸ”’

Functions§

arr_concat ðŸ”’
arr_copy_within ðŸ”’
arr_every ðŸ”’
arr_fill ðŸ”’
Array.prototype.fill(value, start, end)。以前は start/end第2/第3匕数を 完党に無芖しお垞に配列党䜓を䞊曞きしおおり、[1,2,3,4,5].fill(0,1,3) のような 郚分埋めの定番パタヌンが機胜しおいなかった。
arr_filter ðŸ”’
arr_find ðŸ”’
arr_find_index ðŸ”’
arr_flat ðŸ”’
Array.prototype.flat(depth = 1)。以前は depth 匕数を完党に無芖しお垞に1段だけ 展開する実装になっおおり、arr.flat(2) や、深いネスト解陀の定番むディオムである arr.flat(Infinity) が仕様どおりに動かない1段しか展開されないバグだった。
arr_for_each ðŸ”’
Array.prototype.forEach は仕様䞊ゞェネリックメ゜ッドだが、以前は this_items ObjKind::Array 以倖は無条件で空 Vecを盎接䜿っおいたため、.call(arrayLikeObj, fn)arguments/NodeList 等ぞの定番むディオムが䜕も反埩しない静かな砎壊 バグだったjoin/slice/concat で修正枈みの同型バグ。
arr_from_index ðŸ”’
fromIndex第2匕数を正芏化する。負の倀は末尟からのオフセット、範囲倖は len以降の探玢が即座に空になるに䞞めるindexOf/includes 共通。
arr_includes ðŸ”’
Array.prototype.includes は仕様䞊 SameValueZero で比范する必芁がある === ず違っお NaN 同士は等しいず刀定される。以前は strict_eq===を 䜿っおおり、[NaN].includes(NaN) が false になるバグだったindexOf が === を 䜿うのは仕様どおり正しいので、そちらは倉曎しおいない。
arr_index_of ðŸ”’
Array.prototype.indexOf(searchElement, fromIndex)。以前は fromIndex 第2匕数を完党に無芖し、垞に先頭から探玢しおいた。 indexOf/includes/forEach/map/filter 等は仕様䞊ゞェネリックメ゜ッドだが、 以前は this_items を盎接䜿っおいたため array-like ぞの .call() が垞に 「䜕も芋぀からない/反埩しない」結果になる同型のバグが耇数箇所にあった join/slice/concat/forEach で修正枈みの続き。
arr_join ðŸ”’
Array.prototype.join は仕様䞊ゞェネリックメ゜ッドthis の内郚 [[Class]] を 芋ず length + 添字プロパティだけを芋るだが、以前は this_itemsObjKind::Array 以倖は無条件で空 Vecを盎接䜿っおいたため、 Array.prototype.join.call({0:'a',1:'b',length:2}, '-') のような array-like ぞの 適甚が垞に "" を返す静かな砎壊バグだった。
arr_last_index_of ðŸ”’
Array.prototype.lastIndexOf(searchElement, fromIndex)。同じ fromIndex 無芖バグが こちらにもあったindexOf/includes ず同じ調査で発芋。既定は末尟length-1から、 負の倀は末尟からのオフセットずしお解釈し、その䜍眮から先頭ぞ向かっお探玢する。 Array.prototype.lastIndexOf(target, fromIndex)。仕様の ToIntegerOrInfinity は NaN を 0 ずしお扱うため、fromIndex に NaN を枡した堎合は「index 0 のみを芋る」 fromIndex=0 ず同じ挙動になるはずだが、以前は NaN を怜知するず無条件に -1 を 返しおおり、[5,1,2].lastIndexOf(5, NaN) が本来の 0 ではなく -1 になっおいた。
arr_map ðŸ”’
高階配列メ゜ッドのコヌルバックは第2匕数 thisArg を受け付けるmap/filter/ forEach/find 系すべおに共通の仕様だが、以前はどれも Value::Undefined を 決め打ちしおおり thisArg が完党に無芖されおいた。
arr_pop ðŸ”’
arr_push ðŸ”’
push/pop/shift/unshift は仕様䞊ゞェネリックメ゜ッドで、length + 添字プロパティを持぀だけの非配列 array-like オブゞェクトぞの .call() でも 機胜すべきだが、以前は this_objref で埗た ObjRef が ObjKind::Array で なければ䜕もせず 0/undefined を返す静かな砎壊バグだったslice/join 等の読み取り専甚メ゜ッドで修正枈みの同型バグの、曞き蟌み系での芋萜ずし。 実配列は高速パスVec 盎接操䜜、それ以倖は length+添字プロパティの 読み曞きにフォヌルバックする。
arr_reduce ðŸ”’
reduce/find/findIndex/some/every にも forEach/map/filter/indexOf/ includes ず同型のゞェネリックメ゜ッド未察応バグがあったthis_items を盎接 䜿っおおり array-like ぞの .call() が垞に「䜕もしない/芋぀からない」になっおいた。
arr_reverse ðŸ”’
arr_shift ðŸ”’
arr_slice ðŸ”’
Array.prototype.slice は仕様䞊ゞェネリックメ゜ッドだが、以前は this_items ObjKind::Array 以倖は無条件で空 Vecを盎接䜿っおいたため、 [].slice.call(arrayLikeObj, ...) のような array-like ぞの適甚が垞に [] を 返す静かな砎壊バグだったjoin/concat で修正枈みの同型バグ。
arr_some ðŸ”’
arr_sort ðŸ”’
arr_splice ðŸ”’
arr_to_locale_string ðŸ”’
Array.prototype.toLocaleString()ES3が䞞ごず欠萜しおいた。各芁玠の toLocaleString() を呌び出し , で連結するIntl 非搭茉のためロケヌル䟝存の曞匏化は 行わず、芁玠が toLocaleString を持たなければ通垞の文字列化にフォヌルバックする簡略実装。 Date.prototype.toLocaleString 等、芁玠偎の実装があればそちらが優先される。
arr_to_reversed ðŸ”’
arr_to_sorted ðŸ”’
arr_to_spliced ðŸ”’
arr_to_string ðŸ”’
arr_unshift ðŸ”’
arr_with ðŸ”’
Array.prototype.with(index, value)ES2023。範囲倖 index は仕様䞊 RangeError だが、 以前は黙っお無芖しお元ず同じ配列を返しおいた呌び出し偎が範囲倖に気づけないバグ。
array_like_items ðŸ”’
配列でない array-like オブゞェクトlength + 添字プロパティを Vec<Value> に 展開する。Array.prototype.concat が Symbol.isConcatSpreadable で true を明瀺した 非配列オブゞェクトを展開する際に䜿う。
array_like_length ðŸ”’
this の length を読むarray-like 汎甚経路甚。array_like_items ず同じ䞞め。
array_species_create ðŸ”’
ArraySpeciesCreate(originalArray, length) (ECMAScript 9.4.2.3)。
bigint_arg ðŸ”’
匕数2を BigInt ずしお取り出す。
bigint_as_int_n ðŸ”’
BigInt.asIntN(bits, bigint)
bigint_as_uint_n ðŸ”’
BigInt.asUintN(bits, bigint)
bigint_ctor ðŸ”’
BigInt(value): Number / String / Boolean / BigInt から BigInt を生成する。 new BigInt() は䞍可だが、ここでは関数呌び出しのみ察応。
bigint_get
BigInt レシヌバのメ゜ッドtoString / valueOf。
bigint_to_string ðŸ”’
bigint_value_of ðŸ”’
bits_arg ðŸ”’
匕数から「ビット幅」を取り出す非負敎数ぞ䞞め。
bool_to_string ðŸ”’
bool_value_of ðŸ”’
boolean_get
Boolean.prototype.toString/valueOf。以前は Value::Bool ぞのプロパティアクセスが get_property() で䞀埋 Value::Undefined を返しおおり、true.toString()/ false.valueOf() のような基本的な呌出しが「関数ではない」TypeError になっおいた プリミティブ䞭 Boolean だけがメ゜ッドを䞀切持たない状態だった。NativeFn は環境を 捕獲できない生の関数ポむンタのため、倀は他のプリミティブ同様呌出時の this から 読み取る。
char_to_byte ðŸ”’
文字䜍眮 n文字単䜍に察応するバむト䜍眮範囲倖は末尟。
clamp_idx ðŸ”’
concat_push ðŸ”’
Array.prototype.concat は仕様䞊 Symbol.isConcatSpreadable を尊重すべきだが、 以前は単に ObjKind::Array かどうかだけで展開の有無を決めおおり、 arr[Symbol.isConcatSpreadable] = false な配列も無条件に展開され、逆に Symbol.isConcatSpreadable = true を明瀺した非配列 array-like オブゞェクトは 展開されず単䞀芁玠ずしお push されおしたっおいた。 concat の各オペランドthis 含むを isConcatSpreadable 刀定に埓っお items に展開/push する共通ロゞック。以前は this第䞀匕数の呌び出し察象 にはこのロゞックが適甚されおおらず this_items を盎接䜿っおいたため、 [].concat.call(arrayLikeObj, x) のような非配列 this が結果から䞞ごず 消えおしたう本来は spreadable でなければ this 自䜓が単䞀芁玠ずしお 含たれるべき静かな砎壊バグだった。
drop_holes ðŸ”’
添字がずれる操䜜の前に穎の印を捚おる。
flatten_depth ðŸ”’
再垰的に depth 段だけネスト配列を展開するarr_flat のヘルパ。 depth=Infinityarr.flat(Infinity)は定番むディオムだが、depth - 1.0 は Infinity のたたなので、埪環参照する配列a.push(a)に察しおは 祖先远跡ガヌドが無いず無限再垰になり、この no_std 環境ではスタック オヌバヌフロヌクラッシュ/ハングに盎結し埗るValue::to_js_string で修正枈みの「埪環参照でスタックオヌバヌフロヌ」系ず同皮のバグ。 2026-07-13 の暪断監査で発芋。既に祖先に珟れた配列を再蚪した時点で、 それ以䞊展開せずそのたた配列のたた結果ぞ積んで打ち切る。
fn_apply ðŸ”’
fn_bind ðŸ”’
fn_call ðŸ”’
fn_to_string ðŸ”’
Function.prototype.toString: this関数の゜ヌス衚珟[native code] を返す。 関数でなければ TypeError仕様どおり。
format_fixed ðŸ”’
format_radix ðŸ”’
function_ctor ðŸ”’
new Function(arg1, ..., argN, body)ES1。動的に゜ヌスからコヌドを生成する定番 むディオム。(function anonymous(arg1,...,argN){ body }) ずいう即時匏ぞ組み立お盎し、 既存の eval_source垞にグロヌバルスコヌプで実行する簡略実装ぞ委譲する。
function_method
generic_array_items ðŸ”’
global_eval ðŸ”’
eval(source)ES1。文字列以倖の匕数は仕様どおり無倉換でそのたた返す。
global_is_finite ðŸ”’
global_is_nan ðŸ”’
global_parse_float ðŸ”’
global_parse_int ðŸ”’
parseInt(string, radix)。以前は radix 省略時に垞に10進ずしお扱い、たた radix を明瀺しおいおも "0x"/"0X" 接頭蟞を読み飛ばさなかった。仕様䞊は radix 省略たたは 0か぀文字列が笊号の埌0x/0X で始たる堎合は自動的に 16進ずしお解釈し、明瀺的に radix=16 の堎合も同接頭蟞を読み飛ばす必芁がある。 䟋: parseInt("0xFF") は仕様どおりなら 255 だが、以前は 0“0” の盎埌の “x” が 数字でないため即座に打ち切られおいたになっおいた。
has_own_property ðŸ”’
hasOwnProperty/Object.hasOwn の実䜓。以前は props.contains_key だけを芋おおり、 (1) accessorsgetter/setter 限定プロパティ専甚マップに存圚するプロパティ {get x(){}}.hasOwnProperty('x')ず (2) 配列の数倀むンデックス/length ObjKind::Array 偎にあり props には無い。[1,2].hasOwnProperty(0)の 2皮類を「自身にあるのに無い」ず誀刀定するバグだったin/for...in 等ず同皮。
holes_of ðŸ”’
this_items ず array_like_items を䞊蚘の刀定で䜿い分ける䟿宜関数。 t が配列なら穎の䞀芧穎が無ければ空。反埩系のメ゜ッドは穎を飛ばす。
html_wrap_attr ðŸ”’
Annex B.2.3 CreateHTML。属性倀の " は &quot; ぞ゚スケヌプする仕様どおり。
html_wrap_tag ðŸ”’
Annex B.2.3 CreateHTML の属性なし版<tag>this</tag>。
intl_number_format_ctor ðŸ”’
new Intl.NumberFormat(locale?, options?)。ロケヌル/オプション匕数は無芖し、 .format(n) は Number.prototype.toLocaleString ず同じ既定グルヌプ区切りに 委譲する最小実装Intl 節参照。
intl_number_format_format ðŸ”’
is_hole_at ðŸ”’
is_real_array ðŸ”’
this が実配列ObjKind::Arrayかどうか。join/slice/concat に続き、 forEach/map/filter/indexOf/includes 等の仕様䞊ゞェネリックなメ゜ッドで this_items非配列は無条件で空 Vecから array_like_items length+添字プロパティを読む汎甚フォヌルバックぞの切り替え刀定に䜿う共通ヘルパ。
is_typed_array ðŸ”’
Array.prototype.toSorted/toReversed/toSpliced/withES2023は %TypedArray% にも同名メ゜ッドが仕様化されおいるが、この凊理系ではどれも this が TypedArray ObjKind::Array を流甚し _ta_kind タグで区別かどうかを芋ずに垞に玠の Obj::array(items) を返しおおり、new Int8Array([3,1,2]).toSorted() が Int8Array ではなく普通の配列に化けるバグだったstructuredClone(TypedArray) ず同皮。this の _ta_kind を匕き継いで返す共通ヘルパヌで察応する。
japanese_voiced_sound_compose ðŸ”’
japanese_voiced_sound_decompose ðŸ”’
nfc_compose ðŸ”’
nfd_decompose ðŸ”’
norm_index ðŸ”’
normalize_mantissa ðŸ”’
仮数郚を [1,10) の範囲に正芏化した (仮数, 指数) を返す0 は (0, 0)。 浮動小数点誀差で log10/pow の埀埩が範囲をわずかに倖れるこずがあるので補正する。
num_to_exponential ðŸ”’
Number.prototype.toExponential(fractionDigits)ES3。䞞ごず欠萜しおおり、 n.toExponential(2)"1.50e+2" 等を呌ぶず「メ゜ッドが存圚しない」TypeError に なっおいた。
num_to_fixed ðŸ”’
Number.prototype.toFixed(fractionDigits)。仕様䞊 fractionDigits が 0〜100 の範囲倖負倀や 101 以䞊なら RangeError を投げる必芁があるが、以前は範囲倖/ 非有限倀を黙っお 0 にクランプするだけで䞊限チェックが無く、(1).toFixed(500) の ような呌び出しが 10^500Infinityを経由しお壊れた出力になり埗た toPrecision には同皮のチェックが既にあったが toFixed だけ欠けおいた。
num_to_locale_string ðŸ”’
Number.prototype.toLocaleString() が toString() の別名に過ぎず、実際のブラりザなら Intl 非搭茉でも必ず入る3桁区切りのカンマ(1234567).toLocaleString() → "1,234,567" が䞞ごず欠萜しおいた垞に "1234567" になっおいたバグ。Intl/ロケヌル匕数自䜓は 非察応Array.prototype.toLocaleString/normalize/localeCompare ず同皮の割り切り だが、既定のグルヌプ区切り敎数郚のみ、小数郚・NaN・Infinity・負号は察象倖だけは行う。
num_to_precision ðŸ”’
Number.prototype.toPrecision(precision)ES3。䞞ごず欠萜しおいた。precision 省略時は toString() ず同じ、指定時は有効桁数がその倀になるよう固定小数/指数衚蚘を 自動遞択する仕様どおり、指数が -6 未満たたは precision 以䞊なら指数衚蚘。
num_to_string ðŸ”’
Number.prototype.toString(radix)。以前は radix第1匕数。2進/16進衚瀺等の定番 むディオム n.toString(16)を完党に無芖し垞に10進衚瀺だった。
num_value_of ðŸ”’
number_get
数倀レシヌバのメ゜ッド。
obj_define_getter ðŸ”’
obj_define_setter ðŸ”’
obj_has_own ðŸ”’
obj_is_prototype_of ðŸ”’
Object.prototype.isPrototypeOf(obj): this が obj のプロトタむプ連鎖䞊に 存圚するかinstanceof の r.prototype 版に盞圓。こちらは呌び出し元自身ず比范する。
obj_lookup_getter ðŸ”’
obj_lookup_setter ðŸ”’
obj_property_is_enumerable ðŸ”’
Object.prototype.propertyIsEnumerable(key): この凊理系は独自プロパティに enumerable フラグを持たないため、「自身の盎接プロパティかどうか」で近䌌するhasOwnProperty ず 同じ刀定だが、プロトタむプ継承プロパティに察しおは仕様通り false になる点は共通。
obj_to_string ðŸ”’
Object.prototype.toString.call(x){}.toString() 含む。以前は this の 実際の皮別を䞀切芋ず垞に "[object Object]" を返しおおり、lodash 等の ラむブラリで広く䜿われる型刀定むディオムObject.prototype.toString.call(x) === '[object Array]' 等が配列/Map/Set/Date/RegExp/関数のいずれに察しおも 垞に "[object Object]" になっおしたう、実甚䞊かなり圱響の倧きいバグだった。
object_get
オブゞェクトレシヌバのメ゜ッド配列メ゜ッド含む。
pad_str ðŸ”’
populate_array_species ðŸ”’
pos_arg ðŸ”’
䜍眮の匕数文字単䜍。NaN は default、負は 0、範囲倖は末尟。
reject_regexp_arg ðŸ”’
includes/startsWith/endsWith は仕様䞊、第1匕数に RegExp を枡すず TypeError を投げる必芁があるstr.includes(/x/) のような「うっかり正芏衚珟を 枡した」誀甚に察する意図的なガヌド。match/replace 等ず違いこれらのメ゜ッドは 正芏衚珟マッチングを䞀切サポヌトしないため、無譊告でリテラル文字列 "/x/" ずしお怜玢しおしたうず気づきにくいバグの枩床になる。以前はこの チェックが䞞ごず欠萜しおおり、垞に無蚀でリテラル文字列比范にフォヌルバックしお いた。
same_kind_as ðŸ”’
set_holes ðŸ”’
配列 v に穎の印を付ける穎が 1 ぀も無ければ付けない。
sort_excluding_undefined ðŸ”’
仕様䞊 sort/toSorted は undefined 芁玠を比范関数に䞀切枡さず、垞に配列末尟に 送る特別扱いが必芁(ECMA-262 SortCompare)。以前はこの特別扱いが無く undefined も 通垞の芁玠ずしお文字列比范/比范関数に枡しおいたため、䟋えば [undefined, 5].sort((a,b)=>a-b) は a-b が NaN になり順序が保蚌されない (垞に末尟に来るはずが来ない)バグがあった。
str_anchor ðŸ”’
str_big ðŸ”’
str_blink ðŸ”’
str_bold ðŸ”’
str_char_at ðŸ”’
str_char_code_at ðŸ”’
str_code_point_at ðŸ”’
String.prototype.codePointAt()ES2015が䞞ごず未実装だったcharCodeAt はあった。 この凊理系の文字列は Rust の String既に UTF-8 のコヌドポむント単䜍で保持されおおり サロゲヌトペアの抂念自䜓が無いため、charCodeAt ず等䟡な実装で足りる 範囲倖は NaN ではなく仕様どおり undefined を返す点だけが異なる。
str_concat ðŸ”’
str_ends_with ðŸ”’
str_fixed ðŸ”’
str_fontcolor ðŸ”’
str_fontsize ðŸ”’
str_identity ðŸ”’
str_includes ðŸ”’
str_index_of ðŸ”’
str.indexOf(search, position)䜍眮は文字単䜍。 【2026-10-17】埓来は第 2 匕数開始䜍眮を無芖しおいた。探玢は str::findバむト列。
str_is_well_formed ðŸ”’
String.prototype.isWellFormed()ES2024。内郚衚珟が Rust の String垞に有効な UTF-8 であるため、単独サロゲヌトlone surrogateは構造䞊存圚し埗ず垞に true を返す簡略実装。
str_italics ðŸ”’
str_iterator ðŸ”’
String.prototype[Symbol.iterator]()ES2015が䞞ごず欠萜しおいた。呌び出すず 「メ゜ッドが存圚しない」TypeError になっおいたfor...of 自䜓は文字列を盎接 走査する内郚高速経路で動くため気づかれなかった。コヌドポむント単䜍サロゲヌト ペアを1文字ずしお扱う。Rust の char が既にスカラヌ倀単䜍のため自然に察応できるで 走査する Iterator オブゞェクトを、Array.prototype[Symbol.iterator] 等ず同じ make_iterator() を再利甚しお返す。
str_last_index_of ðŸ”’
str.lastIndexOf(search, position)䜍眮は文字単䜍。省略・NaN は末尟から。 【2026-10-17】䞞ごず未実装で、YouTube の cookie 読み出しf.lastIndexOf(c, 0) == 0が 䟋倖を投げ、その゚ラヌ蚘録がたた゚ラヌになる無限再垰を起こしおいた。
str_link ðŸ”’
str_locale_compare ðŸ”’
String.prototype.localeCompare()ES3も未実装だった。この環境には Intl/ロケヌル デヌタが無いため、ロケヌル䟝存の照合順序ではなく通垞のコヌドポむント順比范で近䌌する。
str_normalize ðŸ”’
str_pad_end ðŸ”’
str_pad_start ðŸ”’
str_repeat ðŸ”’
String.prototype.repeat(count)ES2015。仕様䞊 count が負倀たたは +Infinity の 堎合は RangeError を投げる必芁があるが、以前は範囲倖を空文字列ぞ黙っお䞞めおいた "x".repeat(-1) が䟋倖にならず "" を返す、呌び出し偎が匕数ミスに気づけないバグ。 Array.prototype.with の範囲倖 index ず同皮の「RangeError 盞圓箇所で it.error() の 汎甚 Error を投げる」ずいう既存の簡略方針に合わせる。
str_replace ðŸ”’
str_replace_all ðŸ”’
String.prototype.replaceAll(pattern, replacement)。以前は pattern が RegExp でも垞に to_js_string()"/pat/flags" ずいう文字列衚珟ずしお扱われ、 正芏衚珟ずしお機胜しおいなかった"aaa".replaceAll(/a/g, 'b') が無倉換になっおいた。 たた関数リプレヌサstr_replace は察応枈みも未察応だった。
str_slice ðŸ”’
str_small ðŸ”’
str_split ðŸ”’
String.prototype.split(separator, limit)。以前は limit第2匕数。結果配列の 最倧芁玠数を完党に無芖しおおり、"a,b,c".split(",", 2) が仕様の ["a","b"] ではなく 党芁玠 ["a","b","c"] を返しおいた。
str_starts_with ðŸ”’
str_strike ðŸ”’
str_sub ðŸ”’
str_substr ðŸ”’
String.prototype.substr(start, length)。ES3 由来の非掚奚Annex Bメ゜ッドだが、 叀いコヌドで䟝然ずしお広く䜿われるため実装する。slice/substring はあったが substr だけが欠萜しおいた。
str_substring ðŸ”’
str_sup ðŸ”’
str_to_lower ðŸ”’
str_to_upper ðŸ”’
str_to_well_formed ðŸ”’
String.prototype.toWellFormed()ES2024。䞊蚘ず同じ理由により垞に元の文字列をそのたた返す。
str_trim ðŸ”’
str_trim_end ðŸ”’
str_trim_start ðŸ”’
string_get
文字列レシヌバのプロパティ/メ゜ッド。
this_items ðŸ”’
配列プロトタむプメ゜ッドのほが党おがこのヘルパ経由で this の芁玠を読む。以前は Proxy を玠通しできずObjKind::Array に䞀臎しない、Array.prototype.map.call( new Proxy([1,2,3],{}), f) のように Proxy をラップした配列ぞ盎接メ゜ッド呌出しするず 垞に空配列扱いになるバグだったfor...of/スプレッドは別経路で既に察応枈みだったが、 メ゜ッド呌出し経由はこのヘルパ止たりで挏れおいた。
this_objref ðŸ”’
this_items ず同じ Proxy 透過性が必芁配列を盎接倉曎するメ゜ッド push/pop/sort/splice 等が内郚で䜿う実オブゞェクト参照。
this_str ðŸ”’