NATIVE

settings_applicationsGlobal

NATIVE

Draft
  • account_tree
  • bug_report

DOMStringuriencodeURI(textURI)

설명

URI(Uniform Resource Identifier:URL+URN) 값을 갖는 문자열 중에서 "A-Z a-z 0-9 ; , / ? : @ & = + $ - _ . ! ~ * ' ( ) #"을 제외한 문자들을 특별한 문자포맷으로 인코딩해서 반환한다.

구문

기본형식
encodeURI(URI)

매개 변수

textURI필수
완전한 인터넷 식별자(주소)를 갖는 문자열

반환

DOMStringuri

특별한 문자 포맷으로 인코딩된 DOMString

상속 계층 탐색

Function

  • Methods

    • apply()

      주어진 this 또는 arguments로 함수를 호출한다.
    • bind()

      원본 함수와 동일한 본문을 갖는 바인딩된 함수를 만든다. this 키워드가 있는 경우 실제로 자신을 참조할 수 있도록 활성화된다.
    • call()

      인수를 지정하여 객체의 메소드를 호출한다. apply() 메소드와 매우 흡사하지만 배열 하나만을 인수로 지정하는 apply() 메소드와 달리 인수를 추가적으로 설정할 수 있다는 것이 차이가 있다.
    • toSource()

      객체의 소스코드를 나타내는 문자열을 반환한다. 웹브라우저별 지원 여부를 체크할 필요가 있다.
    • toString()

      Object.prototype.toString() 메소드를 상속받았으며 재정의를 통해 사용하거나 재정의 없이 사용할 수 있다. 이 메소드는 객체가 텍스트 값으로 표시되거나 객체가 문자열이 예상되는 방식으로 참조될 때 호출된다. 객체에 따라서 결과는 다를 수 있다.
  • Properties

    • caller

      지정된 함수를 호출한 함수를 참조한다. strict 모드에서는 사용할 수 없다.
    • length

      함수에 사용 되고 있는 인수의 개수를 참조한다.
    • name

      함수 이름을 참조한다.
    • prototype

      모든 생성자에게 상속되며 생성자의 프로토타입을 나타낸다.

Object

  • Methods

    • hasOwnProperty()

      객체가 특정 프로퍼티를 가지고 있는지를 블린 값으로 반환한다.
    • isPrototypeOf()

      해당 객체가 다른 객체의 프로토타입 체인에 속한 객체인지를 체크한다. 이 메소드는 instanceof 연산자와 함께 특정 프로토타입으로부터 상속된 객체만 작동하게 하려는(예를 들어 특정 메소드나 속성이 객체에 있다는걸 보장하려는 때) 코드에서 특히 쓸모가 많다.
    • propertyIsEnumerable()

      매개 변수의 속성이 열거가능한지 여부를 체크한다.
    • toLocaleString()

      객체를 나타내는 문자열을 사용 지역의 방식으로 출력이 된다. 이 메소드는 상속받은 모든 객체가 사용할 수 없고 아래와 같은 상속된 객체에 사용이 된다. Array.prototype.toLocaleString() Number.prototype.toLocaleString() Date.prototype.toLocaleString()
    • toString()

      객체를 나타내는 문자열을 반환한다.
    • valueOf()

      객체의 Primitive(원시) 값을 반환한다.
  • Properties

    • constructor

      객체의 생성자 함수를 참조한다.
    • __proto__

      상속된 [[Prototype]] 참조하거나 설정가능하며 일반적으로 실제 코드상에서는 잘 사용되지 않는다. ECMAScript에서 사용되지 않는 비표준이지만 최신 웹브라우저에서는 비공식적으로 지원하고 있다. 따라서 곧 표준 속성으로 지원될 확률이 높다.

기술 문서

인터넷 자원을 식별하는 주소를 필요에 따라서 인코딩을 하고자 할 때 사용한다.

보통 URI는 URL과 URN을 총칭하는 용어이다. 일반적으로 URL의 처리시 사용된다.

URL의 인코딩이 필요한 경우는 예를 들어서 로그인을 하지 않은 회원이 회원 권한이 필요한 웹페이지 접근시 보통 자동으로 로그인 페이지로 리다이렉트(Redirect) 처리를 한다. 이때 접속하고자 했던 웹페이지의 URL을 로그인 페이지로 리다이렉트(Redirect)시 GET 데이터 형식으로 보내줄 필요가 있다. 그래야만 로그인 완료후 다시 자동으로 접속을 원하는 페이지로 이동 처리할 수가 있다.

이때 URL 데이터를 GET 형식으로 전송하고자 할 때 URL 주소 체계에서 기본적으로 사용하고 있는 예약어가 있는데 이 예약어를 GET 데이터에서 갖게 되면 웹브라우저는 해석 오류를 일으킨다. 따라서 리다이렉트 시킬 URL을 GET 형식으로 전송할 때는 사용하지 말아야 할 문자열을 다른 문자열로 일시적으로 바꿀 필요가 있다. 바로 이러한 처리를 해주는 전역 함수가 encodeURI() 함수이다.

그러나 encodeURI() 함수는 인코딩 대상이 제한되어 있다. 쉽게 이야기한다면 GET 데이터로 사용하지 말아야 할 문자중에서 '/'를 인코딩 하지 않는다. 정확히는 "A-Z a-z 0-9 ; , / ? : @ & = + $ - _ . ! ~ * ' ( ) #" 문자는 인코딩하지 않는다. 결과적으로 공백이 들어간 경우에만 인코딩된다고 볼 수 있다.

이러한 이유로 encodeURI() 함수보다는 encodeURIComponent() 함수를 사용하는게 일반적이다.

지원 웹브라우저