call()
kullanarak ve ilkel bir değere this
argüman ayarlayarak, o ilkel değeri her zaman bir nesneye dönüştürülür, bu yüzden ilkel dize
String {0: "t", 1: "e", 2: "s", 3: "t", length: 4, ...
call()
belgeleri üzerinde yerine dize nesnesini almak edilir MDN devletler
thisArg
oİşlev çağrısı için this
değeri sağlandı.
Bu yöntemin gördüğü gerçek değer olmayabilir: yöntem, sıkı olmayan mod kodunda bir işlevse null
ve undefined
, genel nesnesi ile değiştirilecek ve ilkel değerler nesnelere dönüştürülecektir.
kadar sigara katı modda temel dize değeri this
ise, bu da
ECMA standard, Annex C
katı mod kısıtlama belirtilmiş ve özel durumlar, bir nesnenin dönüştürülür Sıkı mod kodu içinde değerlendirildiğinde, this
değeri, bir nesneye zorlanmamış değeridir.
null
veya undefined
'un bu değeri, genel nesneye dönüştürülmez ve ilkel değerler sarmalayıcı nesnelerine dönüştürülmez. şey değiştiren bir nesne O değil
' 'diyoruz geçirilen
this
değerini zorlamak yok (Function.prototype.apply
veFunction.prototype.call
kullanılarak yapılan aramalar dahil) işlev çağrısı vasıtasıyla geçirilenthis
değer. Bu "değeri" bir nesneyi (burada, bir "String" nesnesi) zorlayan özensiz moddur. – Bergi