[ javascript ] 특수 문자 ( 이스케이프 시퀀스 )
작성일 18-09-23 13:34
페이지 정보
작성자 웹지기 조회 5,340회 댓글 0건본문
JavaScript는 직접 입력할 수 없는 문자를 만들기 위해 문자열에 포함시킬 수 있는 이스케이프 시퀀스를 제공합니다.
이스케이프 시퀀스
다음 표에서는 일반적인 문자에 대한 이스케이프 시퀀스의 몇 가지 예를 보여 줍니다.
유니코드 문자 값 | 이스케이프 시퀀스 | 의미 | 범주 |
---|---|---|---|
\u0008 | \b | 백스페이스 | |
\u0009 | \t | 탭 | 공백 |
\u000A | \n | 줄 바꿈(새 줄) | 줄 종결자 |
\u000B | \v (이 표 아래에 있는 정보 참조) | 세로 탭 | 공백 |
\u000C | \f | 폼 피드 | 공백 |
\u000D | \r | 캐리지 리턴 | 줄 종결자 |
\u0020 | 공백 | 공백 | |
\u0022 | \" | 큰따옴표(") | |
\u0027 | ' | 작은따옴표(') | |
\u005C | \\ | 백슬래시(\) | |
\u00A0 | 줄 바꿈하지 않는 공백 | 공백 | |
\u2028 | 줄 구분 기호 | 줄 종결자 | |
\u2029 | 단락 구분 기호 | 줄 종결자 | |
\uFEFF | 바이트 순서 표시 | 공백 |
범주 열은 문자가 공백인지 또는 줄 종결자 문자인지를 지정합니다.
trim 메서드(String)(JavaScript)는 문자열에서 선행 및 후행 공백과 줄 종결자 문자를 제거합니다.
백슬래시 자체는 이스케이프 문자로 사용됩니다. 따라서 스크립트에 직접 입력할 수는 없습니다.
백슬래시를 쓰려는 경우 두 개를 함께 입력해야 합니다(\\).
참고 |
---|
Internet Explorer 9 표준 모드, Internet Explorer 10 표준 모드, Internet Explorer 11 표준 모드 및 Windows 스토어 앱부터 세로 탭(\v)과 "v"가 같은지 테스트하여 브라우저를 Internet Explorer로 식별할 수 없습니다. 이전 버전에서는 "\v" === "v" 식이 true를 반환합니다. Internet Explorer 9 표준 모드, Internet Explorer 10 표준 모드, Internet Explorer 11 표준 모드 및 Windows 스토어 앱에서는 식이 false를 반환합니다. |
다음 예제에서는 \\ 및 ' 이스케이프 시퀀스를 보여 줍니다.
[code]
JavaScript
document.write('The image path is C:\\webstuff\\mypage\\gifs\\garden.gif.');
document.write ("<br />");
document.write('The caption reads, "After the snow of '97. Grandma's house is covered."');
[/code]
유니코드 코드 포인트 이스케이프 시퀀스
Microsoft Edge에서는 유니코드가 완전히 지원됩니다. 가장 일반적인 유니코드 코드 포인트는 탭 문자를 나타내는 /u0009와 같이 16진수 4개로 표현됩니다.
16진수가 5개 이상 필요한 모든 기호를 포함하는 아스트랄 코드 포인트는 이제 간소화된 형식으로 지원됩니다.
"\u{codepoint}" 형식을 사용하여 전체 유니코드 문자 집합을 리터럴 형식으로 나타낼 수 있습니다.
예를 들어 "????" 기호를 나타내려면 "\u{20BB7}" 형식을 사용할 수 있습니다.
다음 코드 예제에서는 문자열이 모두 동일합니다. \uD842\uDFB7은 이전 버전에서 이 기호를 지정하는 해결 방법입니다.
[code]
JavaScript
"\u{20BB7}"=="????"=="\uD842\uDFB7"
[/code]
아스트랄 코드 포인트를 완전히 지원하기 위해 이제 RegExp에 /u 플래그가 포함되었습니다.
예를 들어 다음 코드 예제에서 정규식의 /u 플래그는 아스트랄 코드 포인트를 일치시킬 수 있도록 합니다(마침표는 제공된 문자열의 임의 문자와 일치함).
[code]
JavaScript
"????".match(/./u)[0].length == 2
[/code]
/u 플래그를 사용하면 새로운 형식 \u{codepoint})를 유니코드 이스케이프 시퀀스로 구문 분석할 수 있습니다.
/u 플래그가 없는 \u{xxxxx}는 정규식에서 다른 의미를 갖기 때문에 이 플래그가 필요합니다.
System_CAPS_note참고
아스트랄 코드 포인트의 길이는 항상 2입니다. 이 동작은 이전 버전과 일치합니다.
아스트랄 코드 포인트를 지원하기 위해 이제 String 개체에 두 개의 새 메서드 String.codePointAt 및 String.fromCodePoint가 포함되었습니다.
예를 들어 codePointAt를 사용하여 "????" 기호에 해당하는 코드 포인트를 반환할 수 있습니다.
[code]
JavaScript
"????".codePointAt(0) == 0x20BB7
[/code]
for…of 문을 사용하여 코드 포인트를 반복할 수도 있습니다.
[code]
JavaScript
for(var c of "????") {
console.log(c);
}
[/code]
추천0
비추천 0
댓글목록
등록된 댓글이 없습니다.