Kezdőoldal » Számítástechnika » Programozás » Javascript, miért nem tudom...

Javascript, miért nem tudom felülírni az adott karaktert?

Figyelt kérdés

var a = "asd"

a = "Asd"

így felülírja az egész stringet.

de nekem csak az első karaktert kellene kicserélni benne.

viszont ha azt írom hogy

a[0] = a[0].toUpperCase()

akkor nem cseréli ki.

ha console.log-ba iratom ki hogy a[0].toUpperCase() akkor kihozza hogy _A_, akkor miért nem írja felül a változóban?


2020. jún. 18. 23:27
1 2
 1/11 A kérdező kommentje:
ha azt írom be, hogy a[0] = 'A', akkor sem jó.
2020. jún. 18. 23:27
 2/11 anonim ***** válasza:

[link]


JS-ben nem változtathatóak a stringek, újat kell létrehoznod az eredetit alapulvévve (lásd a linket).

2020. jún. 18. 23:50
Hasznos számodra ez a válasz?
 3/11 A kérdező kommentje:
Ez annyira hülye dolog hogy hihetetlen. Teljesen felülírhatom de nem változtathatom meg egy adott karakterét...
2020. jún. 18. 23:58
 4/11 anonim ***** válasza:
A string immutable a legtöbb nyelvben.
2020. jún. 19. 00:14
Hasznos számodra ez a válasz?
 5/11 anonim ***** válasza:

A karakterlánc Javascriptben lényegében egy objektum, aminek tagváltozója direkt se nem törölhető sem módosítható:

"When using bracket notation for character access, attempting to delete or assign a value to these properties will not succeed. The properties involved are neither writable nor configurable."

[link]


felül kell írnod vagy így:

a = a.replace(/^(.{1})/,x=>x.toUpperCase())

vagy így:

a = a[0].toUpperCase() + a.slice(1);

2020. jún. 19. 00:16
Hasznos számodra ez a válasz?
 6/11 anonim ***** válasza:
59%

"A string immutable a legtöbb nyelvben."

C: [link] - módosítható

C++: [link] - módosítható

Pascal: [link] - módosítható

PHP: [link] - módosítható

Ruby: [link] - módosítható


C#: [link] - nem módosítható

Java: [link] - nem módosítható

Python: [link] - nem módosítható

2020. jún. 19. 02:09
Hasznos számodra ez a válasz?
 7/11 anonim ***** válasza:
25%
#6 Ezt hívják úgy, hogy kontextusból kiemelés. Most akkor rohadtul rakd már jozzá, hogy az adott nyelveket mikor készítették, meg pár modern nyelvet is, mint pl. a Rust, ahol kb minden implicit immutable míg explicit másnak nem jelölöd, és kijön hogy a nem immutable string jelölés sz..r, mert több hibával jár, mintha nem az.
2020. jún. 19. 07:37
Hasznos számodra ez a válasz?
 8/11 anonim ***** válasza:

"Most akkor rohadtul rakd már jozzá, hogy az adott nyelveket mikor készítették"

A C-t/C++-t, PHP-t, Ruby-t a mai napig fejlesztik. Pláne hogy a Java és a Python egykorú a PHP-val és a Ruby-val (1995). ;) Nem feltétlen a nyelv kora számít.

2020. jún. 19. 10:16
Hasznos számodra ez a válasz?
 9/11 anonim ***** válasza:

A nyelv kora is számít(nyilván nem ez a döntő szempont), mert az alapjait akkor rakták le, azóta pedig nem változtatták meg, mert a rengeteg alkalmazás amit a nyelvben írtak nem tudná kezelni. Ez egy olyan legacy dolog ami élete végéig kísérte i fogja a nyelvet, hiába a folyamatos fejlesztés.

Személyes (5 éves) tapasztalatom az az, hogy jobb ha immutable az objektum: szálbiztos, nem lehet "véletlenül" átállítani.

2020. jún. 22. 07:54
Hasznos számodra ez a válasz?
 10/11 A kérdező kommentje:

Az utolsó mondataidra azt tudom mondani,hogy ez baj. Gondolhattak volna arra,bevezethettek volna egy olyan fejlesztést,hogy ez megváltoztatható legyen. Mondjuk egy *dynamic* szóval,pl

var a = "sanyi*

dynamic a[0]= 'S'

Azaz 'a' ezzel "Sanyi"-t tartalmazza majd.

Érthető miről beszélek?

2020. jún. 22. 08:08
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!