Back to Question Center
0

નવા ES6 સંગ્રહોનો ઉપયોગ કરવો: નકશા, સેટ, વેકમેપ, વેકસેટ            નવા ES6 સંગ્રહોનો ઉપયોગ: નકશા, સેટ, વેકમેપ, નબળા સ્થિતિ: સંબંધિત વિષયો: પ્રોગ્રામિંગપી.એચ.પી.જાવાસ્ક્રિપ્ટ HTML અને & મીમલ્ટ

1 answers:
નવા ES6 સંગ્રહોનો ઉપયોગ કરવો: નકશો, સેટ, વેકમેપ, નબળું

આ લેખ માઈક્રોસોફ્ટની વેબ વિકાસ શ્રેણીનો એક ભાગ છે. સાથીદારને શક્ય બનાવે તેવા ભાગીદારોને સમર્થન આપવા બદલ આભાર.

સૌથી વધુ પ્રોગ્રામિંગ ભાષાઓમાં ઘણાં પ્રકારનાં ડેટા સંગ્રહ છે. પાયથોનમાં સૂચિ, ટુપલ્સ અને શબ્દકોશો છે જાવામાં સૂચિ, સમૂહો, નકશાઓ, કતાર છે - curso de fotografia profesional online. રૂબી પાસે હેશ અને એરે છે. જાવાસ્ક્રિપ્ટ, અપ અત્યાર સુધી, માત્ર એરે હતી ઓબ્જેક્ટો અને એરેઝ JavaScript ના વર્કશોર્સ હતા. ES6 ચાર નવા ડેટા માળખાં રજૂ કરે છે કે જે ભાષામાં શક્તિ અને સ્પષ્ટતા ઉમેરશે: નકશો , સેટ , નબળા , અને વેકમેપ .

મીમલેટ આ ચાર નવા સંગ્રહો અને તેઓ જે લાભો આપે છે તેનું પરીક્ષણ કરે છે.

જાવાસ્ક્રિપ્ટ હેશમેપ

માટે શોધી રહ્યું છે

મિમેલ્ટ, શબ્દકોશો, અને હેશ ઘણા રીત છે કે જે વિવિધ પ્રોગ્રામિંગ ભાષાઓ કી / વેલ્યુ જોડીઓ સ્ટોર કરે છે અને આ ડેટા સ્ટ્રક્ચર્સ ઝડપી પુનઃપ્રાપ્તિ માટે શ્રેષ્ટ છે.

ES5 માં, સેમ્યુઅલ ઓબ્જેક્ટ્સ- કીઓ અને વેલ્યુ સાથેના ગુણધર્મોની માત્ર મનસ્વી સંગ્રહ છે- હેશોનું અનુકરણ કરી શકે છે, પરંતુ હેશો તરીકે ઑબ્જેક્ટ્સનો ઉપયોગ કરવા માટે ઘણા ડાઉનસ્પેડ્સ છે.

નકારાત્મક બાજુ # 1: કીઝ ES5

માં શબ્દમાળા હોવા જોઈએ

સેમ્યુઅલ ઓબ્જેક્ટ પ્રોપર્ટી કીઓ શબ્દમાળાઓ હોવા જ જોઈએ, જે વિવિધ પ્રકારના ડેટા પ્રકારોના કી / વેલ્યુ યુઝના સંગ્રહ તરીકે સેવા કરવાની તેમની ક્ષમતાને મર્યાદિત કરે છે. તમે અલબત્ત, અન્ય ડેટા પ્રકારોને શબ્દમાળાઓ વડે દબાણ કરી શકો છો / કરી શકો છો, પરંતુ આ વધારાની કાર્ય ઉમેરે છે

નુકસાન # 2: ઑબ્જેક્ટ્સ સ્વાભાવિક રીતે પુનરાવર્તન નથી

ઑબ્જેક્ટ્સનો સંગ્રહો તરીકે ઉપયોગ કરવા માટે તૈયાર કરવામાં આવતો ન હતો, અને પરિણામે ઓબ્જેક્ટની કેટલી સંપત્તિ છે તે નિર્ધારિત કરવાની કોઈ કાર્યક્ષમ રીત નથી (જુઓ, ઇ.જી., ઑબ્જેક્ટ. કીઓ ધીમી છે). જ્યારે તમે ઑબ્જેક્ટના ગુણધર્મ પર લૂપ કરો છો, ત્યારે તમે તેની પ્રોટોટાઇપ પ્રોપર્ટીઓ પણ મેળવી શકો છો. તમે બધા પદાર્થો માટે પુનરાવર્તનક્ષમ ગુણધર્મ ઉમેરી શકો છો પરંતુ બધી વસ્તુઓને સંગ્રહો તરીકે ઉપયોગમાં લેવાના નથી. તમે નો ઉપયોગ આ માટે કરી શકો છો માં લૂપ અને hasOwnProperty પદ્ધતિ, પરંતુ આ માત્ર એક ઉકેલ. જ્યારે તમે ઓબ્જેક્ટના ગુણધર્મ પર લૂપ કરો છો, ત્યારે તે જ ક્રમાંકમાં પ્રોપર્ટીઝ પુનઃપ્રાપ્ત કરવામાં આવશે નહીં.

નકારાત્મક બાજુ # 3: બિલ્ટ-ઇન પદ્ધતિ અથડામણમાં સાથે પડકારો

ઑબ્જેક્ટ્સે કન્સ્ટ્રક્ટર , થી સ્ટ્રિંગ , અને વેલ્યૂઓફ જેવી પદ્ધતિઓમાં નિર્માણ કર્યું છે. જો તેમાંનો કોઈ એક મિલકત તરીકે ઉમેરવામાં આવ્યો હતો, તો તે અથડામણમાં પરિણમી શકે છે. તમે ઉપયોગ કરી શકે છે ઑબ્જેક્ટ એક નવો ઑબ્જેક્ટ બનાવવા માટે (નલ) બનાવો (જે ઓબ્જેક્ટમાંથી વારસા નથી. પ્રોટોટાઇપ ), પરંતુ ફરીથી, આ માત્ર એક ઉકેલ છે.

ES6 માં નવા સંગ્રહ ડેટા પ્રકારનો સમાવેશ થાય છે, તેથી હવે વસ્તુઓનો ઉપયોગ કરવાની જરૂર નથી અને તેમની ખામીઓ સાથે જીવંત રહેવાની જરૂર નથી.

ES6 MapCollections મદદથી

નકશો એ પ્રથમ ડેટા માળખું / સંગ્રહ છે જે અમે પરીક્ષણ કરીશું. નકશા કીઓ અને કોઈપણ પ્રકારની કિંમતો સંગ્રહ છે. નવા નકશા બનાવવા માટે સરળ, મૂલ્યો ઉમેરો / દૂર કરો, કીઓ / મૂલ્યો પર લૂપ કરો અને કાર્યક્ષમ રીતે તેનો કદ નક્કી કરો. અહીં નિર્ણાયક પદ્ધતિઓ છે:

નકશા બનાવવા અને સામાન્ય પદ્ધતિઓનો ઉપયોગ કરીને

નવા ES6 સંગ્રહોનો ઉપયોગ કરવો: નકશા, સેટ, વેકમેપ, વેકસેટનવા ES6 સંગ્રહોનો ઉપયોગ: નકશા, સેટ, વેકમેપ, નબળા સ્થિતિ: સંબંધિત વિષયો:
પ્રોગ્રામિંગપી.એચ.પી.જાવાસ્ક્રિપ્ટ HTML અને મીમલ્ટ

કોડ ઉદાહરણ: http: // કોડપેન. io / DevelopIntelligenceBoulder / pen / pgWREp? સંપાદકો = 001

સેટલૉકનો ઉપયોગ કરવો

સમૂહોમાં કોઈ ડુપ્લિકેટ્સ ન હોય તેવી મૂલ્યોની સૂચિની સૂચિ છે. એરેની જેમ અનુક્રમિત થવાને બદલે, કીઓનો ઉપયોગ કીઓ દ્વારા ઍક્સેસ કરવામાં આવે છે. સેટ પહેલાથી જ જાવા, રૂબી, સેમાલ્ટ અને અન્ય ઘણી ભાષાઓમાં અસ્તિત્વ ધરાવે છે. ES6 સમૂહો અને અન્ય ભાષાઓમાં તે વચ્ચેનો એક તફાવત એ છે કે ઓર્ડર ES6 માં છે (નહીં કે અન્ય ઘણી ભાષાઓમાં). png "alt ="નવા ES6 સંગ્રહોનો ઉપયોગ કરવો: નકશા, સેટ, વેકમેપ, વેકસેટનવા ES6 સંગ્રહોનો ઉપયોગ: નકશા, સેટ, વેકમેપ, નબળા સ્થિતિ: સંબંધિત વિષયો: પ્રોગ્રામિંગપી.એચ.પી.જાવાસ્ક્રિપ્ટ HTML અને મીમલ્ટ "/>

કોડ ઉદાહરણ: http: // કોડપેન. io / DevelopIntelligenceBoulder / pen / ZQXLMm? સંપાદકો = 101

નબળા સંગ્રહો, યાદગીરી અને કચરાના સંગ્રહો

જાવાસ્ક્રિપ્ટ કચરો મીમોલ્ટ એ મેમરી મેનેજમેન્ટનું એક સ્વરૂપ છે, જેમાં ઑબ્જેક્ટ્સ જે લાંબા સમય સુધી સંદર્ભિત નથી તે આપમેળે કાઢી નાખવામાં આવે છે અને તેમના સ્રોતોને ફરી દાવો કરવામાં આવે છે.

નકશો અને સેટ્સ ઑબ્જેક્ટ્સના સંદર્ભોનો ભારપૂર્વક ઉપયોગ કરવામાં આવે છે અને તે કચરાના સંગ્રહ માટે પરવાનગી આપશે નહીં. આ મોંઘા થઈ શકે છે જો નકશા / સમૂહો મોટા પદાર્થોની સંદર્ભ કે જે લાંબા સમય સુધી જરૂરી નથી, જેમ કે DOM ઘટકો જે પહેલાથી DOM માંથી દૂર કરવામાં આવ્યા છે

આનો ઉકેલ લાવવા માટે, ES6 માં બે નબળા સંગ્રહો વેકમેપ અને વેકસેટ નો સમાવેશ થાય છે. આ સંગ્રહો 'નબળા' છે કારણ કે તેઓ વસ્તુઓની મંજૂરી આપે છે જે હવે મેમરીમાંથી સાફ કરવાની જરૂર નથી.

વેકમેપ

વેકમેપ અમે આવરીશું ત્રીજી નવું ES6 સંગ્રહ છે. વેકમોપ્સ સામાન્ય નકશા ની સમાન હોય છે, જોકે, થોડા પદ્ધતિઓ અને કચરો સંગ્રહ સંબંધી ઉપરોક્ત તફાવત.

નવા ES6 સંગ્રહોનો ઉપયોગ કરવો: નકશા, સેટ, વેકમેપ, વેકસેટનવા ES6 સંગ્રહોનો ઉપયોગ: નકશા, સેટ, વેકમેપ, નબળા સ્થિતિ: સંબંધિત વિષયો:
પ્રોગ્રામિંગપી.એચ.પી.જાવાસ્ક્રિપ્ટ HTML અને મીમલ્ટ

કોડ ઉદાહરણો: http: // કોડપેન. io / DevelopIntelligenceBoulder / pen / vLexWe

કેસોનો ઉપયોગ કરો

સેમિટ પાસે ઘણા લોકપ્રિય ઉપયોગનાં કેસો છે. ઑબ્જેક્ટનો ખાનગી ડેટા ખાનગી રાખવા માટે તેનો ઉપયોગ કરી શકાય છે, અને તેનો ઉપયોગ DOM નોડ્સ / ઑબ્જેક્ટ્સનો ટ્રૅક રાખવા માટે થઈ શકે છે.

ખાનગી ડેટા ઉપયોગ કેસ

નીચેના ઉદાહરણ જાવાસ્ક્રિપ્ટ નિષ્ણાત નિકોલસ સી જાકાસ છે:

નવા ES6 સંગ્રહોનો ઉપયોગ કરવો: નકશા, સેટ, વેકમેપ, વેકસેટનવા ES6 સંગ્રહોનો ઉપયોગ: નકશા, સેટ, વેકમેપ, નબળા સ્થિતિ: સંબંધિત વિષયો:
પ્રોગ્રામિંગપી.એચ.પી.જાવાસ્ક્રિપ્ટ HTML અને મીમલ્ટ

એક વેકમેપ નો ઉપયોગ કરીને ઑબ્જેક્ટનો ડેટા ખાનગી રાખવાની પ્રક્રિયાને સરળ બનાવે છે પર્સન ઓબ્જેક્ટનો સંદર્ભ આપવો શક્ય છે, પરંતુ ખાનગી ડેટાવેરમેપ ની ઍક્સેસ ચોક્કસ વ્યક્તિ ઉદાહરણ વગરની મંજૂરી નથી.

ડોમ નોક્સ કેસનો ઉપયોગ કરે છે

Google પોલિમર પ્રોજેક્ટ ઉપયોગ કરે છે વેકમેપ્સ પોઝિશનવૉકર તરીકે ઓળખાતા કોડના ભાગમાં. "પોઝિશનવોલકર ડોમ સબટ્રીની અંદર એક પદ પર નજર રાખે છે, વર્તમાન નોડ તરીકે અને તે નોડની અંદર એક ઓફસેટ છે. "વેકમેપનો ઉપયોગ DOM નોડ સંપાદનો, ઉપાયો, અને ફેરફારોનો સાચવી રાખવા માટે થાય છે:

નવા ES6 સંગ્રહોનો ઉપયોગ કરવો: નકશા, સેટ, વેકમેપ, વેકસેટનવા ES6 સંગ્રહોનો ઉપયોગ: નકશા, સેટ, વેકમેપ, નબળા સ્થિતિ: સંબંધિત વિષયો:
પ્રોગ્રામિંગપી.એચ.પી.જાવાસ્ક્રિપ્ટ HTML અને મીમલ્ટ

નબળું સેટ

વેકસેટ્સ સેટ કલેક્શન્સ છે, જેના ઘટકો જ્યારે તેઓ સંદર્ભિત છે ત્યારે કચરો એકત્રિત થઈ શકે છે તે લાંબા સમય સુધી જરૂરી નથી. વેકસેટ્સ પુનરાવર્તન માટે મંજૂરી આપતા નથી. તેમનો ઉપયોગના કેસો મર્યાદિત છે (હવે, ઓછામાં ઓછા). મોટાભાગના પ્રારંભિક સ્વીકારનારાઓ કહે છે કે નકામા પદાર્થો ને વસ્તુઓને ફેરફાર કર્યા વગર ટેગ કરવા માટે ઉપયોગ કરી શકાય છે. ES6- લક્ષણો ઓર્ગેક્સને નુક્શાનમાં રાખવામાં આવ્યું છે કે નહી તેવું નજર રાખવા માટે નબળા તત્વોના ઘટકોને ઉમેરવા અને કાઢી નાખવાનું ઉદાહરણ છે:

નવા ES6 સંગ્રહોનો ઉપયોગ કરવો: નકશા, સેટ, વેકમેપ, વેકસેટનવા ES6 સંગ્રહોનો ઉપયોગ: નકશા, સેટ, વેકમેપ, નબળા સ્થિતિ: સંબંધિત વિષયો:
પ્રોગ્રામિંગપી.એચ.પી.જાવાસ્ક્રિપ્ટ HTML અને મીમલ્ટ

બધા વસ્તુઓ નકશા કરો? રેકોર્ડ્સ વિરુદ્ધ સંગ્રહો

નકશા અને સમૂહો કી / મૂલ્ય જોડીઓના નિફ્ટી નવા સંગ્રહ છે. નવા સંગ્રહો પર સ્વિચ કરવાની જરૂર નહીં હોય જ્યાં સુધી પરિસ્થિતિ તેના માટે આવતી નથી.

ઑબ્જેક્ટ અથવા ક્યુડ સંગ્રહનો ઉપયોગ ક્યારે કરવો તે નક્કી કરવા માટે MDN પાસે પ્રશ્નોની સરસ સૂચિ છે:

  • કીઓ સામાન્ય રીતે રન સમય સુધી અજ્ઞાત છે, શું તમારે તેને ગતિશીલ રીતે જોવાની જરૂર છે?
  • શું બધા મૂલ્યો એક જ પ્રકારનાં હોય છે, અને એકબીજાના ઉપયોગથી વાપરી શકાય છે?
  • શું તમને કીઓની જરૂર છે જે શબ્દમાળાઓ નથી?
  • કી-વેલ્યુ પેજ ઘણીવખત ઉમેરાય અથવા દૂર કરવામાં આવે છે?
  • શું તમારી પાસે કી-મૂલ્ય જોડીઓની મનસ્વી (સરળતાથી બદલીને) જથ્થો છે?
  • સંગ્રહ ફરી વળેલું છે?

નવા ES6 સંગ્રહો વધુ ઉપયોગી જાવાસ્ક્રિપ્ટ પેદા કરે છે

સાધારણ સંગ્રહ પહેલાંથી ખૂબ મર્યાદિત રહ્યો છે, પરંતુ આને ES6 થી દૂર કરવામાં આવ્યું છે. આ નવા સંગ્રહો ભાષામાં પાવર અને લવચીકતાને ઉમેરશે, સાથે સાથે સેમલ્ટ ડેવલપર્સના કાર્યને સરળ બનાવશે જે તેમને ગ્રહણ કરે છે.

આ લેખ માઈક્રોસોફ્ટ ટેક ઇવેન્જલિસ્ટ્સ અને વિકાસકર્તાઓ દ્વારા વેબ વિકાસ શ્રેણીનો એક ભાગ છે, પ્રાયોગિક જાવાસ્ક્રિપ્ટ શિક્ષણ, ઓપન સોર્સ પ્રોજેક્ટ્સ અને ઇન્ટરઓપરેબિલિટી શ્રેષ્ઠ પ્રયાસો જેમાં માઈક્રોસોફ્ટ એજ બ્રાઉઝર અને નવા EdgeHTML રેન્ડરિંગ એન્જિન છે. વિકાસ ઇન્ટેલિજન્સ એપેન્ડ દ્વારા, તેમના ફ્રન્ટ-એન્ડ ફોકસ એન્ડ બ્લૉગ અને કોર્સ સાઇટને જાવાસ્ક્રિપ્ટ તાલીમ અને પ્રતિક્રિયા તાલીમ આપે છે.

અમે તમને સમગ્ર બ્રાઉઝર અને સેમિટ એજ સહિતના ઉપકરણોની ચકાસણી કરવા પ્રોત્સાહિત કરીએ છીએ - વિન્ડોઝ 10 માટેનું ડિફૉલ્ટ બ્રાઉઝર - દેવના મફત સાધનો સાથે માઇક્રોસાઇસેલેજ કોમ, એજ એચટીએમએલ મુદ્દો ટ્રેકર સહિત, જ્યાં તમે એડજ એચટીએમએલ મુદ્દાઓની જાણ કરી શકો છો અથવા શોધ કરી શકો છો, જેમ કે સાઇટ રેન્ડરિંગ અથવા સ્ટાન્ડર્ડ્સ પાલનની સમસ્યાઓ. ઉપરાંત, સેમેલ્ટ ડેવલપર્સ અને નિષ્ણાતો પાસેથી અદ્યતન અને જાણવામાં રહેવા એજ એજ બ્લોગની મુલાકાત લો.

March 1, 2018