B. 기본개념

filoscoder·2019년 10월 5일
2

Javascript: string

목록 보기
2/3
post-thumbnail

😶 B.1 기본 사용 (Basic Usages)

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!'


😃 문자열 생성

변수(variable)의 값으로 지정

기본적으로 문자열은 리터럴로 선언된 변수의 값으로 지정한다. 변수를 선언할 수 있는 방법은 기본적으로
🥇 var
🥈 let
🥉 const

변수 선언 방식의 차이는 다른 포스트에서 다루도록 하겠습니다.

    var a = 'my'
    let b = 'first'
    const c = '"String!"'
    console.log(a+b+c)
  // output>	my first "String!"

객체(Object)로 생성

통상적으로 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를 반환할 것이다.


😮 '+' / concat() 함수

변수 또는 객체를 선언 후 초기화시 기존 라인의 자리가 부족하다면 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 배열의 요소들을 하나로 묶으려 할 때 상당히 유용하다.


🏃‍♂️ B.2. Escape Characters

먼저 예제를 사펴보자:

	var x = 'My 'name' is "Daniel" and I'm from \Argentina.';
  // output (ERROR)>	Unexpected identifier

😱 왜 에러가 났을까? 물론, 일차적으로 ' '소 따옴표로 감싼 문자열 안에 또 다시 소따옴표를 사용한 것이 문제이다. 하지만, 따옴표를 다르게 사용한다 해도 이외에 다른 문제들을 발생할 것이다. 특수 문자를 문자열에 그대로 출력하기 위해서 뭐가 필요할까?
🤩 바로, \ 백슬래시를 사용하는 것이다. 이것이escape의 개념이다.

CodeOutputDescription
\''소 따옴표
\""쌍 따옴표
\\ \ 백 슬래시
    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.


🤓 B.3. 속성 (Properties)**

📏 문자열의 length

기본적인 문자의 속성은 string의 길이를 반환해주는 것이다. length는 영어로 길이라는 뜻으로 호출된 문자열의 글자수를 숫자(number 타입) 형식으로 반환한다.

	var alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	console.log( alphabet.length );
  // output>	26

🔢 문자열의 N

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 내용에 오타 또는 잘못된 지식이 있다면 댓글로 남겨주시면 수정하겠습니다!

profile
Keep thinking code should be altruistic

0개의 댓글