var hello = 'hello';
Array.prototype.unshift.call(hello, '11') // gives error
Array.prototype.join.call(hello, ', ') // works, why??
birisi neden eser .join ve .unshift değil nedenDizisi
var hello = 'hello';
Array.prototype.unshift.call(hello, '11') // gives error
Array.prototype.join.call(hello, ', ') // works, why??
birisi neden eser .join ve .unshift değil nedenDizisi
dizeleri değişmez olduğu için, ve unshift
çalışır (bir dizin atamak bana açıklayabilir gibi dize mülkiyet),
"hello"[4] = '1'
Referans: http://www.ecma-international.org/ecma-262/6.0/#sec-string-exotic-objects:
A String nesnesi, String değerini kapsülleyen ve String değerinin tek tek kod birimi öğelerine karşılık gelen sanal tamsayı dizinlenmiş veri özelliklerini gösteren egzotik bir nesnedir. Egzotik Dize nesneleri, her zaman değeri, kapsüllenmiş String değerindeki kod birimi öğelerinin sayısı olan "uzunluk" adlı bir veri özelliğine sahiptir. Hem kod birimi veri özellikleri hem de "uzunluk" özelliği yazılabilir değil ve yapılandırılamaz.
join
şey atamak ve sadece özelliklerini okur bu nedenle .length
olan herhangi bir nesne ile çalışır etmez.
Bunun ne yapılmasını beklediniz? –