Documentation ¶
Overview ¶
Package js provides functions for interacting with native JavaScript APIs. Calls to these functions are treated specially by GopherJS and translated directly to their corresponding JavaScript syntax.
Use MakeWrapper to expose methods to JavaScript. When passing values directly, the following type conversions are performed:
| Go type | JavaScript type | Conversions back to interface{} | | --------------------- | --------------------- | ------------------------------- | | bool | Boolean | bool | | integers and floats | Number | float64 | | string | String | string | | []int8 | Int8Array | []int8 | | []int16 | Int16Array | []int16 | | []int32, []int | Int32Array | []int | | []uint8 | Uint8Array | []uint8 | | []uint16 | Uint16Array | []uint16 | | []uint32, []uint | Uint32Array | []uint | | []float32 | Float32Array | []float32 | | []float64 | Float64Array | []float64 | | all other slices | Array | []interface{} | | arrays | see slice type | see slice type | | functions | Function | func(...interface{}) *js.Object | | time.Time | Date | time.Time | | - | instanceof Node | *js.Object | | maps, structs | instanceof Object | map[string]interface{} |
Additionally, for a struct containing a *js.Object field, only the content of the field will be passed to JavaScript and vice versa.
Index ¶
- func Debugger()
- func Keys(o *Object) []string
- type Error
- type M
- type Object
- func (o *Object) Bool() bool
- func (o *Object) Call(name string, args ...interface{}) *Object
- func (o *Object) Delete(key string)
- func (o *Object) Float() float64
- func (o *Object) Get(key string) *Object
- func (o *Object) Index(i int) *Object
- func (o *Object) Int() int
- func (o *Object) Int64() int64
- func (o *Object) Interface() interface{}
- func (o *Object) Invoke(args ...interface{}) *Object
- func (o *Object) Length() int
- func (o *Object) New(args ...interface{}) *Object
- func (o *Object) Set(key string, value interface{})
- func (o *Object) SetIndex(i int, value interface{})
- func (o *Object) String() string
- func (o *Object) Uint64() uint64
- func (o *Object) Unsafe() uintptr
- type S
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Error ¶
type Error struct {
*Object
}
Error encapsulates JavaScript errors. Those are turned into a Go panic and may be recovered, giving an *Error that holds the JavaScript error object.
type M ¶
type M map[string]interface{}
M is a simple map type. It is intended as a shorthand for JavaScript objects (before conversion).
type Object ¶
type Object struct {
// contains filtered or unexported fields
}
Object is a container for a native JavaScript object. Calls to its methods are treated specially by GopherJS and translated directly to their JavaScript syntax. A nil pointer to Object is equal to JavaScript's "null". Object can not be used as a map key.
var Global *Object
Global gives JavaScript's global object ("window" for browsers and "GLOBAL" for Node.js).
var Module *Object
Module gives the value of the "module" variable set by Node.js. Hint: Set a module export with 'js.Module.Get("exports").Set("exportName", ...)'.
var Undefined *Object
Undefined gives the JavaScript value "undefined".
func InternalObject ¶
func InternalObject(i interface{}) *Object
InternalObject returns the internal JavaScript object that represents i. Not intended for public use.
func MakeFunc ¶
MakeFunc wraps a function and gives access to the values of JavaScript's "this" and "arguments" keywords.
func MakeWrapper ¶
func MakeWrapper(i interface{}) *Object
MakeWrapper creates a JavaScript object which has wrappers for the exported methods of i. Use explicit getter and setter methods to expose struct fields to JavaScript.
func NewArrayBuffer ¶
NewArrayBuffer creates a JavaScript ArrayBuffer from a byte slice.
func (*Object) Bool ¶
Bool returns the object converted to bool according to JavaScript type conversions.
func (*Object) Float ¶
Float returns the object converted to float64 according to JavaScript type conversions (parseFloat).
func (*Object) Int ¶
Int returns the object converted to int according to JavaScript type conversions (parseInt).
func (*Object) Int64 ¶
Int64 returns the object converted to int64 according to JavaScript type conversions (parseInt).
func (*Object) Interface ¶
func (o *Object) Interface() interface{}
Interface returns the object converted to interface{}. See GopherJS' README for details.
func (*Object) New ¶
New creates a new instance of this type object. This will fail if it not a function (constructor).
func (*Object) String ¶
String returns the object converted to string according to JavaScript type conversions.