๋ฐฐ์ด(Array)๊ณผ ๋ฌธ์์ด(String)์ ๊ณตํต์
๋ฐฐ์ด๊ณผ ๋ฌธ์์ด์ ๋ฎ์ ๊ตฌ์์ด ์๋๋ฐ,๋ฐ๋ก ๋ ๋ค index๋ฅผ ๊ฐ์ง๊ณ ์๋ค๋ ๊ฒ์ด๋ค.
const arr = ['h', 'e', 'l', 'l', 'o'];
const str = 'hello';
console.log(arr.length); //outputs:4
console.log(str.length); //outputs:4
์๋ฐ์คํฌ๋ฆฝํธ์์๋ ๋ฐฐ์ด์ ์ข ๋ ํธํ๊ฒ ๋ค๋ฃฐ ์ ์๊ฒ ๋ค์ํ ๋ฉ์๋๋ค์ด ์กด์ฌํ๋๋ฐ,Array-Javascript|MDN
๋ฌธ์์ด๋ index๋ฅผ ๊ฐ์ง๊ณ ์๊ธฐ์ ๋ฐฐ์ด์์ ์ฌ์ฉํ ์ ์๋ ์ฌ๋ฌ ๋ฉ์๋๋ค(indexOf,slice๋ฑ๋ฑ)์ ์ฌ์ฉํ ์๊ฐ ์๋ค.
@ ๋ฌธ์์ด๊ฐ์ index๊ฐ์ผ๋ก ์ํ๋ ๋ฌธ์์ด ์ฐพ์์ค๊ธฐ
const str = 'overwatch';
console.log(str[2]); //outputs:"e"
console.log(str.charAt(4)); //outputs:"w"
@ ๋ฌธ์์ด๊ฐ์ผ๋ก index๊ฐ ์ฐพ์์ค๊ธฐ
const str = 'tanker:sigma';
console.log(str.indexOf('i')); //outputs: 8
console.log(str.lastIndexOf('a')); //outputs: 11
๋ฐฐ์ด(Array)๊ณผ ๋ฌธ์์ด(String)์ ์ฐจ์ด์
๊ฐ์ฅ ๊ฒฐ์ ์ ์ธ ํฐ ์ฐจ์ด๋ ๋ฐฐ์ด์ ๊ฐ์ฒด(Object)์ด์ ์ฐธ์กฐํ(Reference) ํ์ ์ ๋ฐ์ดํฐํ์ด๊ณ ๋ฌธ์์ด์ ๋ฌธ์(String)์ด์ ์์ํ(primitive)ํ์ ์ ๋ฐ์ดํฐํ์ด๋ผ๋ ๊ฒ์ด๋ค.
์ฐธ์กฐํ(Reference)๋ฐ์ดํฐ ํ์ & ์์ํ(Primitive)๋ฐ์ดํฐ ํ์ ์ดํดํ๊ธฐ
@ typeof ์ฐ์ฐ์๋ก ํ์ธํด๋ณด์.
const arr = ['1','2','3'];
const str = '123';
console.log(typeof arr); //outputs: "object"
console.log(typeof str); //outputs: "string"
console.log(arr == str); //outputs: false
console.log(arr === str); //outputs: false
์์ ๋งํฌ์์ ์์ธํ ์ค๋ช ์ด ๋์์๊ธด ํ์ง๋ง ์ฐธ์กฐํ ๋ฐ์ดํฐ ํ์ ์ธ ๊ฐ์ฒด๋ ์์ฑ๋ ๊ฐ์ ํ ๋นํ๊ฒ ๋๋ฉด ํด๋น ๋ณ์์ '๊ฐ์ ์ฃผ์'์ '๊ฐ์ ์ ๊ทผํ ์ ์๋ ๊ธธ'์ ๋ง๋ค์ด์ค๋ค.
๋ฐ๋๋ก ์์์ ๋ฐ์ดํฐ ํ์ ์ธ ๋ฌธ์์ด์ ๊ฐ์ด ์์ฑ๋๊ณ ๋ณ์์ ํ ๋นํ๊ฒ ๋๋ฉด ํด๋น ๋ณ์ ๋ฐ์ค์ '๊ฐ์ ๋ด์์ค๋ค.'
์๋์ ์์ ์ ๊ฐ์ด ๋ฐฐ์ด์ index์์ ๊ฐ์ ์์ ์ด ๊ฐ๋ฅํ๊ธฐ์ mutable:(ํ)๋ฐ๋ ์ ์๋
์์ฑ์ด๋ผ ๋ถ๋ฅด๊ณ ๋ฌธ์์ด์ index์์ ๊ฐ์ ์์ ์ด ๋ถ๊ฐ๋ฅํ๊ธฐ์ immutable:(ํ)๋ฐ๋ ์ ์๋
์์ฑ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. (๋ฌธ์์ด์ ๊ฐ์ ์์ ํ๋ ค๋ฉด ์ ์ฒด๊ฐ์ ์์ ํด์ค์ผ ํ๋ค.
let arr = ['z','a','y','r','a'];
let str = 'zayra';
arr[2] = 'd';
console.log(arr); //ouputs: ['z','a','d','r','a']
str[2] = 'd';
console.log(str); //outputs: 'zayra'
str = 'zadra';
console.log(str); //outputs: 'zadra'
'๐ WELL-DONE Project > Javascript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
this ๊ฐ๋ ์ดํดํ๊ธฐ (0) | 2021.02.17 |
---|---|
๋ธ๋ผ์ฐ์ ์์์ ์๋ฐ์คํฌ๋ฆฝํธ ๋์ ์์๋ณด๊ธฐ.2 (0) | 2020.12.18 |
๋ธ๋ผ์ฐ์ ์์์ ์๋ฐ์คํฌ๋ฆฝํธ ๋์ ์์๋ณด๊ธฐ.1 (0) | 2020.12.17 |
HTML์์์ ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ์ด๋ป๊ฒ ๋์ํ๋์ง ์์๋ณด๊ธฐ. (0) | 2020.12.15 |