[]

JS - objeden eleman silmek

let obj = {rank:1, type:2, code:3, "origin-name":"Dummy Name" };
(({code, rank, ...c}) => c)(obj)


yukarıdaki kod parçacığında obj adındaki nesnede ihtiyacım olmayan datalar var ve silmek istiyorum. ikinci satıdaki ufak fonksiyon spread operatör sayesinde code ve rank property'leri dışındakileri döndürüyor.

ama bu fonksiyon sausasage-case ile yazılmış property'lerde işe yaramıyor.
bu yöntem ile "origin-name" adındaki şeyi çıkarmak istersem nasıl yaparım?

farklı yöntemler var da, ben bu yöntemle nasıl olacağını merak ettim.
yoksa dot notation ile yapılan her şey bracket notation ile yapılamıyor mu?

 
dot notation ile yapılan her şey bracket ile yapılamıyor evet.

obj.rank => dediğinizde, js gidip obj'nin rank isimli alanına erişiyor.

obj[rank] => derseniz, rank diye bir değişken varmış gibi düşünüp, onun değerini alıp, o değere sahip alana erişiyor. Mesela bir satır üstte let rank = "type" demiş olsaydınız, size 2 dönerdi obj.

Dot notation kullanmak istiyorsanız, noktadan sonra gelen kelimenin valid bir değişken ismi olması gerekiyor. JS'te değişkenlerde - işareti olamaz. O yüzden o şekilde ulaşamazsınız.

Evet, noktadan sonra gelen şey aslında değişken değil, "property name", fakat syntax'ının değişken ismi olması gerekiyor. Hafif kafa karışıtırıcı, ama js böyle bir dil maalesef.
  • plutongezegendegilmi  (07.10.21 11:51:31 ~ 12:09:47) 
let obj = {rank:1, type:2, code:3, "origin-name":"Dummy Name" };
(({code, rank, "origin-name": originName, ...c}) => c)(obj)

  • lemmiwinks  (07.10.21 13:19:24) 
1
buraya yazılanların hakları Sir Anthony Hopkins'e aittir.
yazan eden compumaster, ilgilenen eden fader
modere edenler angelus, Artibir, aychovsky, baba jo, basond, compumaster, deckard, duyulmasi gerektigi kadar, fader, fraise, groove salad, kahvegibi, kaymaktutmayansicaksut, kibritsuyu, monstro, pandispanya, robin, ron dennis
bu sitede yazılanların hiçbiri doğru değildir. site içeriği küçükler için sakıncalı olabilir. yazılardan yazarları sorumludur. kaynak göstermeden alıntılanamaz. devlet tarafından atanmış bir kurumun internet üzerinde kimin hangi bilgiye ulaşıp ulaşamayacağına karar vermesi insan haklarına aykırıdır. web siteleri kullanıcıların istekleri doğrultusunda bağlandıkları yerlerdir. kullanıcılar isterlerse bir web sitesine bağlanmayabilirler. bu güçleri ve imkanları mevcuttur. bir kullanıcı bir siteye bağlanmak istiyorsa bu onun tercihi ve hakkıdır. bağlanmak istemiyorsa bu yine onun tercihi ve hakkıdır. halkın kendisine hizmet etmesi için görevlendirdiği kurumlar hadlerini aşıp halka neye ulaşıp ulaşmayacağını bilmeyen cahil cühela muamelesi edemezler. ebeveynlerin çocuklarını sakıncalı içeriklerden koruması için çok sayıda bedava ve ücretli yazılım mevcuttur. bu yazılımlar bir web tarayıcısını kullanmaktan daha karmaşık teknik bilgi gerektirmemektedir. devletin milletini küçük düşürmesi ve ebleh yerine koyması yasaktır. Skimlinks ile linkler üzerinden yönlendirme payı alınmaktadır.