Интерфейс JSObject
- Все известные реализующие классы:
-
AbstractJSObject,ScriptObjectMirror
@Deprecated(since="11",
forRemoval=true)
public interface JSObject Этот интерфейс может быть реализован произвольным классом Java. Nashorn будет рассматривать объекты таких классов так же, как объекты скриптов nashorn. Обычные операции nashorn, такие как obj[i], obj.foo, obj.func(), delete obj.foo, будут делегированы соответствующему вызову метода этого интерфейса.
- С:
- 1.8u40
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
Object | call(Object thiz,
Object... args) | Устаревшее, подлежащее удалению: Этот элемент API может быть удален в будущей версии. Вызов этого объекта как JavaScript-функции. |
Object | eval(String s) | Устаревшее, подлежащее удалению: Этот элемент API может быть удален в будущей версии. Вычисление JavaScript-выражения. |
String | getClassName() | Устаревшее, подлежащее удалению: Этот элемент API может быть удален в будущей версии. Свойство ECMA [[Class]] |
default Object | getDefaultValue(Class<?> hint) | Устаревшее, подлежащее удалению: Этот элемент API может быть удален в будущей версии. Реализует метод |
Object | getMember(String name) | Устаревшее, подлежащее удалению: Этот элемент API может быть удален в будущей версии. Возвращает именованный член этого JavaScript-объекта. |
Object | getSlot(int index) | Устаревшее, подлежащее удалению: Этот элемент API может быть удален в будущей версии. Возвращает индексированный член этого JavaScript-объекта. |
boolean | hasMember(String name) | Устаревшее, подлежащее удалению: Этот элемент API может быть удален в будущей версии. Есть ли у этого объекта именованный член? |
boolean | hasSlot(int slot) | Устаревшее, подлежащее удалению: Этот элемент API может быть удален в будущей версии. Есть ли у этого объекта индексированное свойство? |
boolean | isArray() | Устаревшее, подлежащее удалению: Этот элемент API может быть удален в будущей версии. Является ли этот объект массивом? |
boolean | isFunction() | Устаревшее, подлежащее удалению: Этот элемент API может быть удален в будущей версии. Является ли этот объект функцией? |
boolean | isInstance(Object instance) | Устаревшее, подлежащее удалению: Этот элемент API может быть удален в будущей версии. Проверка, является ли данный объект экземпляром этого объекта. |
boolean | isInstanceOf(Object clazz) | Устаревшее, подлежащее удалению: Этот элемент API может быть удален в будущей версии. Проверка, является ли этот объект экземпляром данного объекта 'clazz'. |
boolean | isStrictFunction() | Устаревшее, подлежащее удалению: Этот элемент API может быть удален в будущей версии. Является ли этот объект функцией 'use strict'? |
Set<String> | keySet() | Устаревшее, подлежащее удалению: Этот элемент API может быть удален в будущей версии. Возвращает набор всех имён свойств этого объекта. |
Object | newObject(Object... args) | Устаревшее, подлежащее удалению: Этот элемент API может быть удален в будущей версии. Вызов этой JavaScript-функции 'constructor' для создания нового объекта. |
void | removeMember(String name) | Устаревшее, подлежащее удалению: Этот элемент API может быть удален в будущей версии. Удаление именованного члена из этого JavaScript-объекта |
void | setMember(String name,
Object value) | Устаревшее, подлежащее удалению: Этот элемент API может быть удален в будущей версии. Установка именованного члена в этом JavaScript-объекте |
void | setSlot(int index,
Object value) | Устаревшее, подлежащее удалению: Этот элемент API может быть удален в будущей версии. Установка индексированного члена в этом JavaScript-объекте |
default double | toNumber() | Устаревшее. Используйте getDefaultValue(Class) с подсказкой Number вместо этого. |
Collection<Object> | values() | Устаревшее, подлежащее удалению: Этот элемент API может быть удален в будущей версии. Возвращает набор всех значений свойств этого объекта. |
Методы
call
Object call(Object thiz,
Object... args) Вызвать этот объект как функцию JavaScript. Это эквивалентно 'func.apply(thiz, args)' в JavaScript.
- Параметры:
-
thiz- объект «this», который будет передан в функцию. Может быть null. -
args- аргументы метода - Возвращает:
- результат вызова
newObject
Object newObject(Object... args)
Вызвать эту функцию «конструктор» JavaScript для создания нового объекта. Это эквивалентно 'new func(arg1, arg2...)' в JavaScript.
- Параметры:
-
args- аргументы метода - Возвращает:
- результат вызова конструктора
eval
Object eval(String s)
Вычислить выражение JavaScript.
- Параметры:
-
s- выражение JavaScript для вычисления - Возвращает:
- результат вычисления
getMember
Object getMember(String name)
Получить именованный член этого объекта JavaScript.
- Параметры:
-
name- имя члена - Возвращает:
- член
- Выбрасывает:
-
NullPointerException- если имя равно null
getSlot
Object getSlot(int index)
Получить член с индексом этого объекта JavaScript.
- Параметры:
-
index- индекс элемента, который нужно получить - Возвращает:
- член
hasMember
boolean hasMember(String name)
Есть ли у этого объекта именованный член?
- Параметры:
-
name- имя члена - Возвращает:
- true, если у этого объекта есть член с заданным именем
hasSlot
boolean hasSlot(int slot)
Есть ли у этого объекта свойство с индексом?
- Параметры:
-
slot- индекс для проверки - Возвращает:
- true, если у этого объекта есть элемент
removeMember
void removeMember(String name)
Удалить именованный член из этого объекта JavaScript
- Параметры:
-
name- имя члена - Выбрасывает:
-
NullPointerException- если имя равно null
setMember
void setMember(String name,
Object value) Установить именованный член в этом объекте JavaScript
- Параметры:
-
name- имя члена -
value- значение члена - Выбрасывает:
-
NullPointerException- если имя равно null
setSlot
void setSlot(int index,
Object value) Установить член с индексом в этом объекте JavaScript
- Параметры:
-
index- индекс элемента -
value- значение члена
keySet
Set<String> keySet()
Возвращает множество всех имён свойств этого объекта.
- Возвращает:
- множество имён свойств
values
Collection<Object> values()
Возвращает множество всех значений свойств этого объекта.
- Возвращает:
- множество значений свойств.
isInstance
boolean isInstance(Object instance)
Проверка, является ли данный объект экземпляром объекта «this».
- Параметры:
-
instance- экземпляр для проверки - Возвращает:
- true, если данный «экземпляр» является экземпляром этого объекта «функция»
isInstanceOf
boolean isInstanceOf(Object clazz)
Проверка, является ли этот объект экземпляром данного объекта «clazz».
- Параметры:
-
clazz- класс для проверки - Возвращает:
- true, если этот объект является экземпляром данного «clazz»
getClassName
String getClassName()
Свойство ECMA [[Class]]
- Возвращает:
- значение свойства ECMA [[Class]] этого объекта
isFunction
boolean isFunction()
Является ли это объект функцией?
- Возвращает:
- если этот зеркало оборачивает экземпляр ECMAScript функции
isStrictFunction
boolean isStrictFunction()
Является ли это объектом функции «use strict»?
- Возвращает:
- true, если это зеркало представляет ECMAScript функцию «use strict»
isArray
boolean isArray()
Является ли это объектом массива?
- Возвращает:
- если это зеркало оборачивает объект ECMAScript массива
toNumber
@Deprecated default double toNumber()
getDefaultValue(Class) с подсказкой Number вместо этого.Возвращает числовое значение этого объекта.
- Возвращает:
- числовое значение этого объекта.
getDefaultValue
default Object getDefaultValue(Class<?> hint)
throws UnsupportedOperationException Реализует метод [[DefaultValue]] этого объекта в соответствии с разделом 8.6.2 ECMAScript 5.1.
- Параметры:
-
hint- подсказка типа. Должна быть либоnull, либоNumber.class, либоString.class. - Возвращает:
- Значение по умолчанию этого объекта.
- Выбрасывает:
-
UnsupportedOperationException- если преобразование не может быть выполнено. Двигатель преобразует это исключение в JavaScriptTypeError.
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/jdk.scripting.nashorn/jdk/nashorn/api/scripting/JSObject.html