Javascript

문자열에 대해서 알아봅시다.

아라라_ 2023. 3. 29. 20:07

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

Frederick Philips Brooks
Mythical Man-Month 저자
728x90

자바스크립트에는 문자열과 관련된 함수가 다양하게 있습니다.

 

 

원시유형과 객체

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

예을 들어 lenght을 사용할때 변수에 문자열을 할당한 후 lenght 프로퍼티를 사용하는데 이때 변수에 lenght을 할ㄹ당하지 않아도 사용할 수잇습니다.

 

프로퍼티(Property)

객체(Object) 내부의 속성(Attribute)으로, 해당 객체의 상태를 나타내는 값(Value)이나 함수(Function)를 말합니다. 객체는 프로퍼티를 가지며, 이를 통해 객체의 상태와 행동을 제어할 수 있습니다.

 

 

lenght 포로퍼티

문자열의 길이를 찾을 때 사용하는 프로퍼티입니다.

보통 배열에서도 많이 사용하며 배열의 인덱스의 총값을 받아올때 사용합니다.

기본형
문자열.lenght
let str = "Good morning!";
let greeting = "안녕하세요?"
str. length	//14
greeting. Length	//16

 

 

charAt()

특정위치에의 문자에 접근할때 사용하는 메서드입니다.

별도의 메서드 없이 위치는 인덱스로 표시되며 인덱스를 이용하여 위치를 찾아 특정위치의 문자를 가지고 오는 메서드입니다.

기본형
문자열.charAt(위치)
let str = "Good morning!";
str.charAt (3) // "d"
str[5]	//"m"

 

 

indexOf()

두개 이상의 단오로 구성된 문자열에서 공백으로 구분되는 여러개의 부분 문자열있을 때 특정부분의 문자열이 어디에 있는 찾아 가져올ㄴ수 잇느 메서드입니다. 

기본형
indexOf(문자열)
indexOf(문자열, 찾기 시작하는 위치)

문자열을 받아올때 만약 위치를 지정한다면 그 위치에서 부터 찾아서 문자열 위치를 줍니다.

만약 찾는 문자열이 없다면 -1을 반환합니다.

let str1 = "Good morning, everyone. Beautiful morning."
str1.index0f ("morning") // 5
str1. index0f("evening") // -1
str1.indexOf ("morning", 7) // 34

첫번째 morning을 지나서 찾는 것이기 때문에 34를 반환합니다.

 

startsWith()

시작하는 문자열에서 특정 문자열로 시작하는 확인하여, 그 결과를 불린(true, false)로 반환느 메서드입니다. 

대소문자를 구별합니다. 

기본형
문자열. startsWith(문자 또는 문자열)
str2 = "Hello, everyone."	// true
str2.startsWith("Hello") str2.startsWith("hello")	// false
str2.startsWith("He")	// true
str2.startswith("Hello, ev")	// true
기본형
문자열. startsWith(문자 또는 문자열, 위치)

이번 메서드로 위치 값을 앞에서 부터 받습니다.

 

endsWith()

문자열에서 특정 문자열로 끝나는지 확인하여, 그 결과를 불린(true, false)로 반환느 메서드입니다. 

대소문자를 구별합니다. 

기본형
문자열. startsWith(문자 또는 문자열)
str2 = "Hello, everyone."
str2.endswith ("everyone. ")//true
str2.endswith ("Everyone.// false
str2.endswith ("one.")// true
str2.endswith ("lo, everyone") // false
기본형
문자열. startsWith(문자열, 길이)

endsWith()에서는 문자열과 함께 길이를 함께 지정할 수잇습니다. 이때 startsWith()와 endsWith()을 구분해서 기억하셔야 합니다.

 

 

includes()

두개 이상의 단오로 구성된 문자열에서 공백으로 구분되는 여러개의 부분 문자열있을 때 특정부분의 문자열이 어디에 있는 찾아 가져올ㄴ수 잇느 메서드입니다. indexOf()와 다른 점은 대소문자를 구별한다는 점입니다.

기본형
문자열.includes(문자열)
str2 = "Hello, everyone.
str2.indexOf ("every") !== -1	// true
str2.includes ("every")	// true

 

trim(), trimEnd(), trimStart()

trim() : 메서드는 문자열의 앞/뒤 공백을 제거하고, 새로운 문자열을 반환합니다.
trimEnd() : 메서드는 문자열의 앞 공백을 제거하고, 새로운 문자열을 반환합니다.
trimStart() : 메서드는 문자열의 뒤 공백을 제거하고, 새로운 문자열을 반환합니다.

기본형
문자열.trim()
문자열.trimEnd()
문자열.trimStart()
let str3 = "ab cd ef"
str3.trim()	// 'ab ed ef'
str3. trimStart() // 'ab cd ef'
str3. trimEnd()	// 'ab ed ef'

 

toLowerCase(), toUpperCase()

영문자 문자열의 경우에는 모두 대문자로, 모두 소문자로 바꿀 수잇습니다.

기본형
문자열.toLowerCase()
문자열.toUpperCase()
let str4 = "Good morning."
str4. toUpperCase ()// "GOOD MORNING."
strA. toLowerCase () // "good morning."

 

substring()

문자열에서 시작 위치에서 종료 위치 값을 추출하여, 새로운 문자열을 반환합니다.

모두 인덱스 값으로 추출하며 인덱스의 값을 사용하여 반환합니다.

기본형
문자열.substring(시작 위치)
문자열.substring(시작 위치, 끝 위치)
stra = "Good morning."
str4.substring(5)	// "morning."​

 

slice()

문자열에서 시작 위치에서 종료 위치 값을 추출하여, 새로운 문자열을 반환합니다.

모두 인덱스 값으로 추출하며 인덱스의 값을 사용하여 반환합니다.

기본형
문자열.slice(시작 위치)
문자열.slice(시작 위치, 끝 위치)
str4 = "Good morning."
str4.slice (0, 4)	// "Good"

substring()과 split()가 다른 점은 

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

또한 문자열을 뒤에서 부터 자를 경우에는 slice()메서드가 편리합니다.