======JavaScript Strings======
* description : JavaScript Strings
* author : 오션
* email : shlim@repia.com
* lastupdate : 2021-04-23
\\
====The source of this article====
[[https://www.w3schools.com/js/js_strings.asp|JavaScript Strings]]
\\
%%JavaScript%% string은 텍스트를 저장하고 조작하는데 사용됩니다.\\
=====JavaScript Strings=====
%%JavaScript%% 문자열은 따옴표 안에 쓰여진 0 개 이상의 문자입니다.\\
var x = "John Doe";
\\
작은 따옴표나 큰 따옴표를 사용할 수 있습니다.\\
var carName1 = "Volvo XC60"; // Double quotes
var carName2 = 'Volvo XC60'; // Single quotes
\\
문자열을 둘러싼 따옴표와 일치하지 않는 한, 문자열 안에 따옴표를 사용할 수 있습니다.\\
var answer1 = "It's alright";
var answer2 = "He is called 'Johnny'";
var answer3 = 'He is called "Johnny"';
=====String Length=====
문자열의 길이를 찾으려면, 내장 ''length'' 속성을 사용하십시오.\\
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var sln = txt.length;
=====Escape Character=====
문자열은 따옴표로 묶어야 하므로, %%JavaScript%%는 아래 예제의 문자열을 오해합니다.\\
var x = "We are the so-called "Vikings" from the north.";
\\
상기 예제에서 문자열은 "We are the so-called"까지 잘립니다.\\
\\
이 문제를 피하는 해결책은 백슬래시 이스케이프 문자(backslash escape character)를 사용하는 것입니다.\\
\\
백슬래시 (\) 이스케이프 문자는 특수 문자를 문자열 문자로 바꿉니다.\\
\\
| code ^ Result ^ Description ^
| %%\'%% | %%'%% | Single quote (작은 따옴표) |
| %%\"%% | %%"%% | Double quote (큰 따옴표) |
| %%\\%% | %%\%% | Backslash (백슬래시, 역슬래시) |
\\
''%%\"%%'' 시퀀스(sequence)는 문자열에 큰 따옴표를 삽입합니다.\\
\\
var x = "We are the so-called \"Vikings\" from the north.";
\\
''%%\'%%'' 시퀀스(sequence)는 문자열에 작은 따옴표를 삽입합니다.\\
var x = 'It\'s alright.';
\\
''%%\\%%'' 시퀀스(sequence)는 문자열에 백슬래시(역슬래시, backslash)를 삽입합니다.\\
var x = "The character \\ is called backslash.";
\\
%%JavaScript%%에서 유효한 다른 6개의 이스케이프 시퀀스\\
\\^ Code ^ Result ^
| %%\b%% | 백스페이스 |
| %%\f%% | 폼 피드 |
| %%\n%% | 줄 바꿈 |
| %%\r%% | 캐리지 리턴 |
| %%\t%% | 수평 탭(태뷸레이터) |
| %%\v%% | 수직 탭(테뷸레이터) |
\\
위의 6 개의 이스케이프 문자는 원래 타자기, 텔레타이프 및 팩스기를 제어하기 위해 설계되었습니다.
HTML에서는 의미가 없습니다.
=====Breaking Long Code Line=====
가독성을 높이기 위해 프로그래머는 종종 80 자보다 긴 코드 줄을 피하는 것을 좋아합니다.\\
\\
%%JavaScript%% 스테이트먼트가 한 줄에 맞지 않는 경우, 줄바꿈하는 가장 좋은 위치는 연산자 뒤 입니다.\\
\\
document.getElementById("demo").innerHTML =
"Hello Dolly!";
\\
백슬래시 하나로 **텍스트 문자열 내의** 코드 줄을 줄바꿈할 수도 있습니다.\\
document.getElementById("demo").innerHTML = "Hello \
Dolly!";
\\
''%%\%%'' 메서드는 선호되는 방법이 아닙니다. 보편적인 지원이 없을 수도 있습니다.
일부 브라우저는 \ 문자 뒤에 공백을 허용하지 않습니다.
문자열을 줄바꿈하는 더 안전한 방법은 문자열 추가를 사용하는 것입니다.\\
\\
document.getElementById("demo").innerHTML = "Hello " +
"Dolly!";
\\
백슬래시로 코드 줄을 줄바꿈할 수 없습니다.\\
document.getElementById("demo").innerHTML = \
"Hello Dolly!";
=====Strings Can be Objects=====
일반적으로, %%JavaScript%% 문자열은 리터럴(literals)에서 생성된 원시값(primitive values)입니다:\\
\\
''%%var firstName = "John";%%''\\
\\
그러나 ''%%new%%'' 키워드를 사용하여 문자열을 오브젝트로 정의할 수도 있습니다.\\
\\
''%%var firstName = new String("John");%%''\\
\\
var x = "John";
var y = new String("John");
// typeof x will return string
// typeof y will return object
\\
문자열을 오브젝트로 만들지 마십시오. 실행 속도가 느려집니다.
''new'' 키워드는 코드를 복잡하게 만듭니다. 이로 인해 예상치 못한 결과가 발생할 수 있습니다.
\\
''%%==%%'' 연산자를 사용할 경우, 동일한 문자열은 동일합니다.\\
\\
var x = "John";
var y = new String("John");
// (x == y) is true because x and y have equal values
\\
''%%===%%'' 연산자를 사용할 때, ''%%===%%'' 연산자는 데이터 유형과 값이 모두 같을 것으로 예상하기 때문에\\
같은 값이 같지 않을 수 있고,\\
\\
var x = "John";
var y = new String("John");
// (x === y) is false because x and y have different types (string and object)
\\
또는 더 나쁠 수 있습니다. 오브젝트는 비교할 수 없습니다.\\
\\
var x = new String("John");
var y = new String("John");
// (x == y) is false because x and y are objects
\\
var x = new String("John");
var y = new String("John");
// (x === y) is false because x and y are objects
\\
''%%(x == y)%%''와 ''%%(x === y)%%''의 차이점에 유의하십시오.
또한 두 %%JavaScript%% 오브젝트를 비교하면 항상 ''false''가 반환됩니다.
{{tag>오션 Javascript Strings}}