본문 바로가기
Work/개발 노트

[양재동코드랩] 자바스크립트 강의 3일차 - Unicode, String Template

by ★용호★ 2018. 10. 13.

Unicode

  • ES6에 유니코드 관련 프로퍼티와 메소드 추가
  • 유니코드는 U+0031 형태로 표현
  • 코드 포인트
    • 0031이 코드 포인트 또는 문자 코드로 알려져있음
    • 코드 포인트 값으로 문자/기호/이모지/아이콘 등 표현
    • 4자리 이상의 UTF-16 진수 형태
    • 110만개 이상 표현 가능
  • plane : 코드 포인트 전체를 17개 평면(plane)으로 나눔
    • 하나의 plane은 65535개
    • 첫번째 plane을 BMP(Basic Multillingual Plane)
      • 일반적인 문자가 여기에 속함
  • euc-kr은 사용하면 안됨.
    • 해외에서는 깨진 문자열로 표시될 수 있음
  • 유니코드 이스케이프 시퀀스
    • \x31\x32를 유니코드로 작성한 형태
      • \u0031\u0032
  • 유니코드 코드 포인트 이스케이프
    • \u{1f418} 과 같은 형태는 ES6에서 처음 제시
    • ES5에서 호환하기 위해 surrogate pair 사용
  • Unicode Table 추천

String

  • String.raw : Template와 유사

    • Template과 달리 유니코드 또는 개행과 같은 것도 문자열로 인식

Template

  • tagged template

    • template에서 문자열과 값을 구분해서 인자로 전달

    • Template 함수의 첫번째 인자로 문자열 배열, 두번째 인자부터는 값에 매핑됨

      `1+2=${one + two}이고, 1-2=${one-two}이다.`
      
      • 1+2= 는 문자열 배열의 0번 인덱스
      • ${one + two}는 표현식이기 때문에 두번째 인자값에 매핑됨
      • 이고, 1-2= 는 문자열 배열의 1번 인덱스
      • ${one - two}는 표현식이기 때문에 세번째 인자값에 매핑됨
      • 이다. 는 문자열 배열의 2번 인덱스
    • Rest 파라미터 사용 가능

      • function restParam(text, ...values)


댓글