#2 String

공부의 기록·2022년 1월 31일
0

JavaScript

목록 보기
7/16
post-thumbnail

Introduce

본 문서는 2022년 1월 31일 에 작성되었다.

Thoery

Construct

일반적으로 해당 클래스의 인스턴스를 반환하는 함수를 Constructor 라고 부릅니다.

하지만 문자열 인스턴스는 String Literal, Template Literal 방식이 더 존재 합니다.

  1. ✅ Constructor
  2. ✅ String Literal
  3. ✅ Template Literal

✅ Constructor

const str=new String("hello");

✅ String Litreal

The String object is used to represent and manipulate a sequence of characters.
String mdn

우리가 사용하는 문자열은 String 클래스의 인스턴스입니다.
따라서 해당 인스턴스에서는 String.prototype.function 에 접근할 수 있습니다.

const str="hello";
const str='hello';

✅ Template Literal

Template literals are literals delimited with backticks (`), allowing embedded expressions called substitutions.
Template Literal mdn

문자열 안에 변수를 깔끔하게 넣고 싶다면 Template Ltieral 을 사용하면 됩니다.

문자열을 백틱( ` ) 으로 감싸고 변수를 달러($) + 브라켓( { } ) 로 감싸면 됩니다. 다음의 코드를 참고하세요.

const str='unchaptered';
const str2=`Hello! My name is ${unchpatered}`;

Loop + String

다른 클래스(Array,Set,Map, ... ) 에서는 생성자와 함수를 연달아 소개했습니다.

해당 클래스들은 Tour 함수 라는 테두리 안에 순회를 하면서 특정한 로직을 실행하는 forEach 와 같은 인스턴스 함수 를 소개했습니다.

하지만, 문자열은 Array이 아니며 따라서 Loop 를 사용하는 방법 을 언급하려고 합니다.

그 중에서도,
후술할 Function 을 사용하지 않고 문자열의 각 칸에 접근하여 값을 얻는 방법을 언급하겠습니다.

✅ for ... of

const texts="abcdefghijklmnopqrstuvwxyz"; // 길이 26

for (const text of texts) {
  console.log(text);
}

✅ for

index 가 필요하다면...

const texts="abcdefghijklmnopqrstuvwxyz"; // 길이 26

for (let index=0; index<texts.length; index++) {
  console.log(texts.charAt(index));
}

Function

문자열의 함수는 너무 많습니다.
따라서, 꼭 사용의 이점이 있어서 사용할만한 함수 만을 소개하기로 하였습니다.

단, 너무 특별한 상황에 사용될 함수는 포함하지 않았습니다.
갑자기 사라질지 누가알아요... ㅠㅠ

  1. trim(), trimEnd(), trimStart()
  2. toLowerCase(), toUpperCase()
  3. raw()
  4. normalize()
  5. replace(), replaceAll(), match(), split()

Function Detail

1. trim() trimEnd() trimStart()

trim 관련 함수는 문자열에서 공백을 지우는 함수입니다.

trim 은 문자열의 양 끝의 공백을
trimStart 는 문자열의 시작의 공백만을
trimEend 는 문자열의 끝의 공백만을 제거합니다.

" hello ".trim(); // "hello";

2. toLowerCase(), toUpperCase()

이는 문자열을 대소문자로 바꾸는 함수입니다.

문자열의 외관이 아닌 실체가 변경된다는 점에서,
css 의 lowercase, uppercase 와는 다릅니다.

3. raw

문자열의 \ 혹은 / 표시 등이 제거되거나 변경되는 것을 막을 수 있습니다.

자세한 내용은 String.raw() mdn 의 함수를 실행해보세요.

4. normalize

유니코드 형태의 문자열과 변환 타입(NFC 등) 을 매개변수로 넘겨주면, 유니코드 문자열을 일반적인 문자열로 바꿔줍니다.

5. replace(), replaceAll(), match(), split()

문자열을 넘겨주면 해당 문자열을 가지고 문자열의 내부에 영향을 줍니다.

단, 자세한 내용은 String mdn 을 참고해주세요.

또한,
정규표현식을 사용하면 더욱 강력한 기능을 구현할 수 있습니다.

Function More mdn

profile
2022년 12월 9일 부터 노션 페이지에서 작성을 이어가고 있습니다.

0개의 댓글