일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 로그인
- vue-cli
- 싱글톤
- HTTP
- Security
- 의존성 주입
- cache
- 프로토타입
- javascript
- js
- dependency injection
- JPA
- Java
- VUE
- 라이프 사이클
- DB
- vuex
- Stateless
- Repository
- Setter
- 캐시
- HTTP 메서드
- Singleton
- Vue.js
- thymeleaf
- Excel
- BEAN
- Kotlin
- di
- Spring
- Today
- Total
jhhan의 블로그
문자열 다루기 본문
이번 글에서는 javascript에서 문자열을 다루는 방법에 대해서 알아보려고 합니다.
사실 js에서 문자열을 다루는 방법은 이미 있다는 것을 알고 있습니다.
<script>
let string1 = "javascript 문자열 예시";
...
</script>
큰따옴표나 작은 따옴표를 이용해서 문자열을 사용하면 됩니다.
사실 이것만 알고 있어도 큰 문제가 되지는 않습니다.
하지만, 이번 글에서 다루게 될 것을 배운다면
js에서 문자열을 조금 더 쉽게 다룰 수 있을 것이라고 생각합니다.
1. template literals ( backquote, backtick )
바로 `` 를 이용하는 것입니다.
작은 따옴표와 비슷한 이것(`)은 backquote & backtick이라고 부릅니다.
이것을 썼을 때 장점을 알아봅시다.
1-1. Enter 가능
<script>
let string1 = `aaa
bbb
ccc`;
console.log(string1);
</script>
문자열 내에서 Enter 키를 처도 인식한다는 것입니다.
'' 나 ""를 사용하면 하나의 line에서만 사용이 가능합니다.
하지만 ``는 Enter키를 처도 다음 줄에서도 문자열로 인식합니다.
콘솔 로그의 결과입니다. 엔터키에 해당하는 '\n'이 들어간 것을 확인할 수 있습니다.
1-2. 변수와 문자가 섞인 문자열 가능
기존에 알고 있던 방식으로 문자열을 정의한다면
- let str1 = "My name is " + name + " ! Hello ~ ";
이런 식으로 정의해야 합니다.
이렇게 정의하는 것을 상당히 귀찮다고 여길 수도 있습니다.
<script>
let name = "Kim";
let string1 = `My name is ${name} ! Hello ~`;
console.log(string1);
</script>
``를 사용한다면 한 줄 안에, + 기호 없이 정의할 수 있습니다.
여기서 변수에 해당하는 값은 ${} 표현식을 사용해서 변수를 표현하면 됩니다.
콘솔 창에도 잘 나타나 있는 것을 확인할 수 있습니다.
2. tagged literals
tagged literals는 ES6에서 추가된 기능으로
'문자 해체 분석' 기능을 가지고 있습니다.
문자열을 문자와 변수들로 나눠주는 기능입니다.
예시를 작성해보겠습니다.
<script>
function stringFunc(strs, value) {
console.log(strs);
console.log(value);
}
let name = "손흥민";
stringFunc`안녕하세요 ${name}입니다.`;
</script>
- stringFunc 라는 함수를 만들어주고
- name이라는 변수도 만들어준 후
- stringFunc를 실행합니다.
- 이 때 소괄호는 사용하지 않고 바로 backquote를 사용하면 됩니다.
결과는 이렇게 나옵니다.
- strs 는 Array 형태로 나옵니다. → 문자들만 나온 것을 볼 수 있습니다.
- value는 string 형태로 나옵니다. → ${} 안에 들어간 파라미터입니다.
- 문자와 변수로 나뉘어진 것을 확인할 수 있습니다.
<script>
function stringFunc(strs, value1, value2) {
console.log(strs);
console.log(value1);
console.log(value2);
console.log(strs[0] + value1);
console.log(strs[1] + value2);
}
let name = "Kim";
let age = "23";
stringFunc`My name is ${name}. My age is ${age}. Amazing~`
</script>
- 만약 변수를 더 사용하고 싶다면 함수에 파라미터를 추가하면 됩니다.
- 그리고 strs는 Array 형태이기 때문에 각 원소에 접근해서 사용도 가능합니다.
문자와 변수로 잘 나뉘고 문자 배열에서 n번째 원소를 꺼내서 쓰는 것도 잘 됩니다.
이렇게 문자해체분석 기능에 대해서도 알아봤습니다.
(아마 알아두면 어디선가 쓰지는 않을까요..?)
js에서 문자열을 다루는 새로운 방법인 backquote에 대해서 알아봤습니다.
잘 쓴다면 코딩을 더 깔끔하게 진행하는 것이 가능하리라고 생각합니다.
이것으로 마무리 하겠습니다.
출처: 코딩애플 - 쉽게 이해하는 JavaScript 객체지향 & ES6 신문법
'Javascript' 카테고리의 다른 글
Constructor & Prototype (0) | 2024.01.05 |
---|---|
Spread Operator ( ... ) (0) | 2023.10.25 |
javascript - this에 관하여(2) (2) | 2023.10.18 |
javascript - this에 관하여(1) (0) | 2023.10.17 |
javascript 다시 공부해보기(feat. 노마드코더) (0) | 2022.08.09 |