String, 문자열 자료형은 Javascript의 기본타입 (primitive data type) 중 하나이다. 문자열은 변수에 저장이 가능하고 또는 텍스트를 다루는 사용된다.
Javascript에서 문자열은 ' '
소따옴표 또는 " "
따옴표로 감싼 텍스트(text) 형식으로 사용된다.
var a = 'my first String!'
console.log(a)
// output> my first String!
var b = "my first String!"
console.log(b)
// output> my first String!
문자열 내에서 둘러싼 따옴표와 다른 따옴표를 사용할 수 있다.
var a = 'my first "String!"'
console.log(a)
// output> my first "String!"
var b = "my first 'String!'"
console.log(b)
// output> my first 'String!'
기본적으로 문자열은 리터럴로 선언된 변수의 값으로 지정한다. 변수를 선언할 수 있는 방법은 기본적으로
🥇 var
🥈 let
🥉 const
변수 선언 방식의 차이는 다른 포스트에서 다루도록 하겠습니다.
var a = 'my'
let b = 'first'
const c = '"String!"'
console.log(a+b+c)
// output> my first "String!"
통상적으로 Javascript의 문자열은 리터럴로 생성된 원시적인 값이다 (primitive values).
하지만, 키워드 new
를 통해 객체(object)로 선언 할 수 있다:
var x = "John";
var y = new String("John");
console.log(typeof x);
console.log(typeof y);
// output> string
// output> object
🧐 비교 연산자를 사용하여 차이를 확인해볼 수 있다:
==
: 느슨한 비교는 같은 값이므로true
반환.
===
: 엄격한 비교를 한다면 자료형이 다름으로false
를 반환할 것이다.
변수 또는 객체를 선언 후 초기화시 기존 라인의 자리가 부족하다면 enter
키로 줄을 개행하여 사용 할 수 있다:
var strEnter =
"Hello World!";
var strBackslash = "Hello \
World!";
console.log(strEnter)
// output> Hello World!
console.log(strBackslash)
// output> Hello World!
🙅♂️
\
백슬레시를 사용하는 방식은 권장하지 않는다. 보편적으로 지원을 하지 않을수도 있다. 일부 브라우저들은\
문자뒤에 공백을 허용하지 않는다.
🙆♀️ 위 예제와 같은 방법도 사용 할 수 있지만, 조금 더 안전한 방법은 +
연산자를 사용하는 것이다:
var strPlus = "Hello"+"World!";
console.log(strPlus)
// output> Hello World!
🙆♂️ concat()
함수는 매개변수로 전달 받은 모든 문자열들과 호출된 문자열을 붙여서 새로운 문자열을 반환한다:
var str1 = 'Hello';
var str2 = 'World';
console.log(str1.concat(' ', str2));
// output> "Hello World"
console.log(str2.concat(', ', str1));
// output> "World, Hello"
🧐
concat()
함수는array
배열의 요소들을 하나로 묶으려 할 때 상당히 유용하다.
먼저 예제를 사펴보자:
var x = 'My 'name' is "Daniel" and I'm from \Argentina.';
// output (ERROR)> Unexpected identifier
😱 왜 에러가 났을까? 물론, 일차적으로 ' '
소 따옴표로 감싼 문자열 안에 또 다시 소따옴표를 사용한 것이 문제이다. 하지만, 따옴표를 다르게 사용한다 해도 이외에 다른 문제들을 발생할 것이다. 특수 문자
를 문자열에 그대로 출력하기 위해서 뭐가 필요할까?
🤩 바로, \
백슬래시를 사용하는 것이다. 이것이escape
의 개념이다.
Code | Output | Description |
---|---|---|
\' | ' | 소 따옴표 |
\" | " | 쌍 따옴표 |
\\ | \ | 백 슬래시 |
var a = 'My \'name\''
let b = " is \"Daniel\""
const c = ' and I\'m from \Argentina.'
console.log(a+b+c)
// output> My 'name'is "Daniel"and I'm from Argentina.
기본적인 문자의 속성은 string
의 길이를 반환해주는 것이다. length
는 영어로 길이
라는 뜻으로 호출된 문자열의 글자수를 숫자(number
타입) 형식으로 반환한다.
var alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
console.log( alphabet.length );
// output> 26
N
번째 위치에 있는 문자에 접근하기 위해 사용한다. N
은 0과 문자열의 length
보다 작은 값 사이에 있는 정수이다. 다른 말로, N
은 문자열의 index
인것이다 N
속성은 읽기 전용(read-only)의 성격을 가지고 있다.
var abc = "abcdEfghijkLmnOpqrStUvwxyz";
console.log(abc[18]+abc[4]+abc[14]+abc[20]+abc[11]);
// output> SEOUL
👨💻 개인적인 학습 용도로 제작한
post
입니다. 인용하도 퍼가셔도 됩니다. 다만, 아래 댓글 달아주시면 감사하겠습니다🤙
post
내용에 오타 또는 잘못된 지식이 있다면 댓글로 남겨주시면 수정하겠습니다!