NATIVE

settings_applicationsGlobal

NATIVE

Editing
  • account_tree
  • bug_report

undefinedcompletedeval(stringscript)

문자열로 표현된 자바스크립트 코드를 스크립트로 구문 분석하여 평가한다.

설명

보안에 매우 취약하므로 사용하지 말도록 적극 알리고 있다. 하지만 아직까지는 사양에 포함되어 있다.

구문

형식
eval(script)

매개 변수

stringscript필수

정상적인 자바스크립트 코드를 포함하는 문자열을 지정한다. import 선언은 허용되지 않는다.

반환

undefinedcompleted

지정된 코드 문자열을 평가한 후 반환할 값이 없다면 undefined를 반환한다. 지정된 값이 원시 문자열이 아닌 경우 지정된 값을 평가하지 않고 그대로 반환한다.

스크립트로 구문 분석이 실패한 경우 SyntaxError를 포함한 구문 분석 중에 발생하는 모든 예외가 발생한다. 

Exception

SyntaxError

문법적으로 유효하지 않은 코드를 해석하려고 시도할 때 발생하는 오류를 다루는 객체이다.

상속 계층 탐색

Function

  • Properties

    • arguments

      함수에 전달된 인수를 조회한다. 유사 배열로 참조되며 인덱스로 접근이 가능하다.

    • caller

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

    • length

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

    • name

      함수 이름을 조회한다.

    • prototype

      생성자 함수(constructor function)에 의해 생성된 인스턴스(instance)에게 상속되어지는 생성자의 프로토타입을 나타낸다.

  • Methods

    • apply()

      지정된 this와 제공된 인수를 가진 배열 또는 유사 배열로 함수를 호출한다.

    • bind()

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

    • call()

      인수를 지정하여 함수를 호출한다.

    • toString()

      함수의 소스 코드를 반환한다.

Object

  • Methods

    • hasOwnProperty()

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

    • isPrototypeOf()

      해당 객체가 다른 객체의 프로토타입 체인에 속한 객체인지를 체크한다.

    • propertyIsEnumerable()

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

    • toLocaleString()

      객체를 나타내는 문자열을  작동하는 지역(locale)의 방식으로 출력이 된다.

    • toString()

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

    • valueOf()

      객체의 원시(primitive) 값을 반환한다.

  • Properties

    • constructor

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

    • __proto__

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

      현재는 표준 사양에 명시되었다.

버전 명세

ECMAScript 2024(15th Edition)
#sec-eval-x

지원 웹브라우저