Blinking Hello Kitty Angel

javascript

자바스크립트 문자열과 배열에 대해서 !

xoouxa 2023. 3. 29. 21:51

“ 지연되는 프로젝트에 인력을 더 투입하면 오히려 더 늦어진다. ”

- Frederick Philips Brooks
Mythical Man-Month 저자
728x90

안녕하세요 ヾ(≧▽≦*)o  오늘은 자바스크립트 효율적으로 문자열과 배열에 대해 공부하도록 하겠습니다.

모던자바스크립트 프로그래밍의 정석이라는 책을 참고하여 블로그를 작성해 보도록 하겠습니다.

 

📜 문자열에 접근하기

자바스크립트에서는 간단한 텍스트를 처리하기 위해 문자열 유형을 자주 사용합니다.

 

📜 원시 유형과 객체

단순히 값만 가지고 있을 경우 원시유형이고 프로퍼티와 메서드를 가지고 있을 땐 객체라고 합니다.

자바스크립트에선 원시 유형이어도 프로퍼티와 메서드를 사용할 수 있습니다.

str 변수에 length라는 프로퍼티를 정의하지 않았는데도 length 프로퍼티를 사용할 수 있습니다.

let str = "hello"
str.length  //5

 

오토박싱 ?

number나 boolean, string과 같은 원시 유형에서 프로퍼티나 메서드를 사용하면 일시적으로 원시 유형을

해당 객체로 변환합니다. 사용이 끝나면 해당 객체는 메모리에서 사라집니다.

이처럼 필요할 때만 임시로 객체를 바꿔 사용하고 사용이 끝나면 다시 원시 유형으로 되돌아 오는 것을 오토박싱이라 합니다.

 

 

📜 문자열의 길이 - length 프로퍼티

 

문자열의 길이를 찾을 땐 배열에서처럼 length 프로퍼티를 사용합니다.

//기본형
문자열.length

 

 

📜 문자열에서 문자의 위치 활용하기 - charAt(), indexOf() 메서드 

charAt()메서드

문자열에서 특정 위치의 문자를 가져오기 위해 사용합니다. 

//기본형
문자열.charAt(위치)

 

indexOf() 메서드 

두 개 이상의 단어로 구성된 문자열에는 공백으로 구분되는 여러 개의 문자열이 있을 수 있습니다.

문자열에서 부분 문자열이 어디에 있는지 검색할 때 indexOf() 메서드를 사용하면 편리합니다.

indexOf()메서드는 괄호 안의 문자열이 나타난 위치를 알려주고 '위치' 값을 생략할 경우엔 문자열이 나타난 첫 번째

위치를 알려줍니다.

indexOf(문자열)
indexOf(문자열, 위치)

 

 

📜 문자열에 어떤 문자가 있는 지 확인하기 - startsWith(), endsWith(), includes() 메서드

 

 

startsWith() 

특정 문자나 문자열로 시작 하는 지 확인하기 확인할 문자나 문자열에서 영문자의 대소문자를 구별하므로 주의합니다.

이 때 결과값은 true나 false입니다.

문자열.startWith(문자 또는 문자열)

startsWith() 메서드는 위치를 함께 지정하면 특정 문자나 문자열이 해당 위치부터 시작하는 지 확인할 수 있습니다.

문자열.starstWith(문자 또는 문자열, 위치)

 

 

endsWith()

특정 문자나 문자열로 끝나는 지 확인하기 확인할 문자나 문자열에서 영문자의 대소문자를 구별하므로 주의합니다.

이 때 결과값은 true나 false입니다.

문자열.endstWith(문자 또는 문자열, 위치)

endsWith() 메서드를 사용할 때 문자열과 함게 길이를 지정할 수 있습니다.

이때 startsWith() 메서드에서는 위치를, endsWith() 에선 길이를 사용한다는 것을 꼭 구분해 기억해야 합니다.

문자열.endsWith(문자열,길이)

 

 

includes() 

문자열에 특정 문자나 문자열이 포함 돼 있는 지 확인할 때 includes() 를 사용할 수 있으며 메서드도 영문자의 대소문자를 구분합니다.

문자열.includes(문자열)

 

 

📜 문자열 메서드 활용하기

큰 따옴표나 작은 따옴표로 묶기만 한다면 모든 자료는 문자열이 될 수 있습니다. 그러다 보나 문자열 안에 있는 불필요한 공백을

제거해야 하거나, 영문자의 대소문자를 특정한 형태로 바꿔 표시해야 할 수도 있습니다.

이를 위해 사용해야하는 주요 메서드에 대해 알아보도록 하겠습니다.

 

문자열에서 공백 제거하기 - trim(), trimStart(), trimEnd() 메서드

 문자열.trim()  //문자열의 앞 뒤 공백을 제거합니다.
 문자열.trimStart()    //문자열의 앞쪽 공백을 제거합니다.
 문자열.trimEnd()    //문자열의 뒤쪽 공백을 제거합니다.

 

문자열의 대소문자 바꾸기 - toUpperCase() , toLowerCase() 메서드

영문자 문자열의 경우엔 모두 대문자 또는 모두 소문자로 바꿀 수 있습니다.

문자열.toUpperCase()  // 문자열을 모두 대문자로 변환합니다.
문자열.toLowerCase()   // 문자열을 모두 소문자로 변환합니다.

 

부분 문자열 추출하기 - substring(), slice()메서드

 

substring()

문자열 중 특정 문자열만 추출할 때 사용하는 메서드 입니다.

문자열.substring(시작 위치)     
문자열.substring(시작 위치 , 끝 위치)

예를 들어

// str4 = "Good morning"
str4.substring(5) //morning

str4문자열에서 Good부분만 추출하기 위해선  첫 번째 글자부터 네 번째 글자까지 추출해야 하므로

위치를 인덱스값 0부터 4까지 지정하면 됩니다.

str4.substring(0, 4)  //Good

 

slice()

slice()메서드는 substring() 메서드와 거의 비슷하게 사용할 수 있습니다. 시작 위치만 지정하면 해당 위치부터 끝까지, 시작 위치와

끝 위치를 함께 지정하면 시작 위치부터 끝 위치 직전까지 추출합니다.

문자열.slice(시작 위치)
문자열.slice(시작 위치, 끝위치)

앞에서 사용했던 str4 문자열에서 Good을 추출할 때 subString()메서드처럼 다음과 같이 사용합니다.

// str4 = "Good morning"
str4.slice(0, 4) //Good

slice() 메서드는 위치를 지졸할 때 substring()메서드와 달리 음수를 사용할 수 있습니다.

음수로 지정하면 문자열의 끝에서부터 위치를 찾으므로 문자열을 뒤에서부터 자를 경우엔 slice() 메서드가

편리합니다. 

(음수로 위치를 지정할 땐 -1 부터 시작합니다.)

substring() 메서드의 경우 위치값에 음수가 들어가면 무조건 0으로 바꿔 실행합니다.

str.substring(-5, 12)   //Good morning

 

구분자에 따라 문자 쪼개기 - split() 메서드

문자열의 split() 메서드는 문자열에서 구분자를 기준으로 문자열을 쪼개줍니다.

문자열.split(구분자)

예를 들어 str5 문자열을 단어별로 구별하려면 구분자를 공백(" ")으로 지정해 split() 메서드를 실행해야 합니다.

split() 메서드는 새로운 배열을 반환합니다.

공백을 구분자로 사용할 땐 큰 따옴표 사이에 빈칸을 한 칸 넣어줍니다.

str5 = "Hello everyone"
array1 = str5.split("")   //["Hello", "everyone"]

만약 문자열을 각각의 글자로 나눠 문자 배열로 변환하려면 구분자를 큰따옴표 (" ")로 지정합니다.

이렇게 글자별로 구분할 땐 큰따옴표와 큰따옴표 사이에 공백이 없어야 합니다.

 

이렇게 문자열과 배열에 대해 알아보았습니다. 😎😏❤

더 궁금하신 점이 있다면 댓글 달아주세요.

 

🥰 오늘도 감사합니다.