내포된 따옴표

Nested quotation

내포된 인용문은 다른 인용문 안에 캡슐화되어 여러 수준의 계층을 형성하는 인용문이다.특정 인용문에 초점을 맞출 때는 그 범위 내에서 해석해야 한다.내포된 인용문은 문헌(내포된 내레이션), 언어 및 컴퓨터 과학(다른 문장을 문자열로 참조하는 "meta"-에서와 같이)에서 사용될 수 있다.내포된 인용문은 신중하게 평가될 때까지 그리고 각 인용구 수준이 원근법에 놓일 때까지 매우 혼란스러울 수 있다.

문학에서.

내포된 인용구를 허용하고 인용 부호 문장 부호를 사용하여 직언을 나타내는 언어에서, 계층적 인용 부호는 보통 기본 인용 부호와 보조 인용 부호를 번갈아 사용하여 구두점을 만든다.주요 작성 시스템에 채택된 주요 인용 부호 시스템에 대한 포괄적인 분석은 인용 부호를 참조하십시오.

JavaScript 프로그래밍에서

중첩된 인용문은 종종 평가 키워드를 사용하여 이슈가 된다.[1]eval 함수는 문자열을 실제 자바스크립트 코드로 변환·해석해 해당 코드를 실행하는 함수다.만약 그 문자열이 리터럴로 지정된다면, 그 코드는 인용문으로 작성되어야 한다(그리고 그에 따라 탈출해야 한다).

예를 들면 다음과 같다.

eval("var a=3; alert();";

코드는 값 3이 할당된 변수 a를 선언하고 사용자에게 빈 경고 창이 뜬다.

중첩 문자열(수준 2)

인용된 해석 코드 에서 인용해야 한다고 가정합시다.자바스크립트에서는 이스케이프되지 않은 인용문 서블벨을 하나만 가질 수 있는데, 이것은 최상위 인용문 대안이 되어야 한다.2-수준 따옴표 기호가 1-수준 기호와 같을 경우 이러한 따옴표는 반드시 이스케이프해야 한다.[2]예를 들면 다음과 같다.

alert("여기서 도망칠 필요 없어"); alert('여기서 "필수"도 아니야); alert('하지만 지금은 그렇게 하거나 작동을 안해');

중첩 문자열(레벨 3 이상)

나아가 (문헌 예에서와 달리) 3차원의 내포된 인용문은 1차 또는 2차 수준의 인용구 구분자와 충돌하지 않도록 탈출해야 한다.이것은 교번 심볼 캡슐화와 무관하게 사실이다.세 번째 수준 이후의 모든 수준은 해당 수준이 포함된 모든 수준의 인용문에 대해 반복적으로 탈출해야 한다.여기에는 이스케이프 문자 자체인 백슬래시("\")가 포함되며, 이 백슬래시는 저절로 이스케이프된다("\\").

백슬래시가 들어 있는 모든 수블레벨에 대해서는 그 수위에 대해서는 그 수위에 대해서는 반드시 탈출해야 하고, 그 수위에 대해서는 원래 백슬래시뿐만 아니라 그 백슬래시를 탈출하기 위해 사용했던 모든 백슬래시가 상승하는 모든 수위에 대해서 탈출해야 한다.탈출할 때의 애매함과 혼란을 피하기 위해서다.

위의 몇 가지 원칙을 보여주는 몇 가지 예는 다음과 같다.

문서화하다.글씨를 쓰다(" "[머리]여보세요, 서류 본문입니다만."); 문서화하다.글씨를 쓰다("[/p]"); 문서화하다.글씨를 쓰다("[p]HTML 코드의 새 줄 <br>가 새로운 줄을 시작하는 반면에 단순히 공백으로 작용한다."); 문서화하다.글씨를 쓰다("[/p]");  평가하다('eval(\"eval(\\\"alert(\\\\\\\") 이제 나는 혼란스러워!\\\\\\\")\\\")\")'); 

백슬래시 수가 0에서 1에서 3에서 7에서 15로 증가하여 연속 중첩 기호에 대한 - 규칙을 나타내며, 이는 이스케이프 시퀀스의 길이가 인용 깊이에 따라 기하급수적으로 증가한다는 을 의미한다.

참고 항목

참조