public final class Js
extends java.lang.Object
Note that this class avoids providing replacements for stuff that is already available via a pure Java or Elemental and enforce safe (runtime-checked) coding practices.
| Modifier and Type | Method and Description |
|---|---|
static JsArrayLike<java.lang.Object> |
arguments() |
static Any |
asAny(java.lang.Object obj) |
static Any[] |
asArray(java.lang.Object obj) |
static JsArrayLike<java.lang.Object> |
asArrayLike(java.lang.Object obj)
Returns
JsArrayLike view of provided array-like object. |
static boolean |
asBoolean(java.lang.Object obj) |
static byte |
asByte(java.lang.Object obj) |
static char |
asChar(java.lang.Object obj) |
static <T> JsConstructorFn<T> |
asConstructorFn(java.lang.Class<T> clazz) |
static double |
asDouble(java.lang.Object obj) |
static float |
asFloat(java.lang.Object obj) |
static int |
asInt(java.lang.Object obj) |
static long |
asLong(java.lang.Object obj) |
static JsPropertyMap<java.lang.Object> |
asPropertyMap(java.lang.Object obj)
Returns
JsPropertyMap view of provided object. |
static short |
asShort(java.lang.Object obj) |
static java.lang.String |
asString(java.lang.Object obj) |
static <T> T |
cast(java.lang.Object obj)
Performs checked cast to lefthand-side type.
|
static double |
coerceToDouble(java.lang.Object d)
Coerces any object to number using
+ operation. |
static int |
coerceToInt(java.lang.Object d)
Coerces any object to 32 bit signed number using
|0 operation. |
static void |
debugger() |
static JsPropertyMap<java.lang.Object> |
global() |
static boolean |
isFalsy(java.lang.Object obj) |
static boolean |
isTripleEqual(java.lang.Object o1,
java.lang.Object o2)
Returns
true if two objects are same. |
static boolean |
isTruthy(java.lang.Object obj) |
static java.lang.String |
typeof(java.lang.Object obj) |
static <T> T |
uncheckedCast(java.lang.Object obj)
Performs unchecked cast to lefthand-side type.
|
static java.lang.Object |
undefined() |
public static java.lang.Object undefined()
public static JsArrayLike<java.lang.Object> arguments()
public static void debugger()
public static java.lang.String typeof(java.lang.Object obj)
public static JsPropertyMap<java.lang.Object> global()
public static <T> JsConstructorFn<T> asConstructorFn(java.lang.Class<T> clazz)
public static Any asAny(java.lang.Object obj)
public static JsPropertyMap<java.lang.Object> asPropertyMap(java.lang.Object obj)
JsPropertyMap view of provided object.public static JsArrayLike<java.lang.Object> asArrayLike(java.lang.Object obj)
JsArrayLike view of provided array-like object.public static Any[] asArray(java.lang.Object obj)
public static java.lang.String asString(java.lang.Object obj)
public static boolean asBoolean(java.lang.Object obj)
public static double asDouble(java.lang.Object obj)
public static float asFloat(java.lang.Object obj)
public static long asLong(java.lang.Object obj)
public static int asInt(java.lang.Object obj)
public static short asShort(java.lang.Object obj)
public static char asChar(java.lang.Object obj)
public static byte asByte(java.lang.Object obj)
public static <T> T cast(java.lang.Object obj)
This is useful for cases when Java won't allow you otherwise, like casting from a native interface to a final Java class (like String).
public static <T> T uncheckedCast(java.lang.Object obj)
This method exists in order to lie to the type system, it is not an optimization. You should *ALWAYS* prefer regular casting over this which also optimizes for production. Using this method can leak incorrect types to the rest of the system which will result in hard to debug problems.
public static boolean isTruthy(java.lang.Object obj)
public static boolean isFalsy(java.lang.Object obj)
public static boolean isTripleEqual(java.lang.Object o1,
java.lang.Object o2)
true if two objects are same.
This method mostly behaves similar to Java == operator except that it doesn't return
true for null==undefined comparison.
public static double coerceToDouble(java.lang.Object d)
+ operation.public static int coerceToInt(java.lang.Object d)
|0 operation.