Author(s)Nathan Abramson - Art Technology Group, Shawn Bayern
Represents an operator that obtains a Map entry, an indexed
value, a property value, or an indexed property value of an object.
The following are the rules for evaluating this operator:
Evaluating a[b] (assuming a.b == a["b"])
a is null
return null
b is null
return null
a is Map
!a.containsKey (b)
return null
a.get(b) == null
return null
otherwise
return a.get(b)
a is List or array
coerce b to int (using coercion rules)
coercion couldn't be performed
error
a.get(b) or Array.get(a, b) throws ArrayIndexOutOfBoundsException or IndexOutOfBoundsException
return null
a.get(b) or Array.get(a, b) throws other exception
error
return a.get(b) or Array.get(a, b)
coerce b to String
b is a readable property of a
getter throws an exception
error
otherwise
return result of getter call
otherwise
error
Represents an operator that obtains a Map entry, an indexed value, a property value, or an indexed property value of an object. The following are the rules for evaluating this operator:
Evaluating a[b] (assuming a.b == a["b"]) a is null return null b is null return null a is Map !a.containsKey (b) return null a.get(b) == null return null otherwise return a.get(b) a is List or array coerce b to int (using coercion rules) coercion couldn't be performed error a.get(b) or Array.get(a, b) throws ArrayIndexOutOfBoundsException or IndexOutOfBoundsException return null a.get(b) or Array.get(a, b) throws other exception error return a.get(b) or Array.get(a, b) coerce b to String b is a readable property of a getter throws an exception error otherwise return result of getter call otherwise error