Skip to main contentModule props_methods
Source - 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 ð
- 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ã屿§å€ã® " 㯠" ãžãšã¹ã±ãŒãããïŒä»æ§ã©ããïŒã - 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 ð