Movatterモバイル変換


[0]ホーム

URL:


js

package
v1.17.2Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 19, 2022 License:BSD-2-ClauseImports:0Imported by:2,239

Details

Repository

github.com/gopherjs/gopherjs

Links

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. Use MakeFullWrapper to expose methods AND fields 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

Constants

This section is empty.

Variables

This section is empty.

Functions

funcDebugger

func Debugger()

Debugger gets compiled to JavaScript's "debugger;" statement.

funcKeys

func Keys(o *Object) []string

Keys returns the keys of the given JavaScript object.

Types

typeError

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.

func (*Error)Error

func (err *Error) Error()string

Error returns the message of the encapsulated JavaScript error object.

func (*Error)Stack

func (err *Error) Stack()string

Stack returns the stack property of the encapsulated JavaScript error object.

typeM

type M map[string]interface{}

M is a simple map type. It is intended as a shorthand for JavaScript objects (before conversion).

typeObject

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 amodule export with 'js.Module.Get("exports").Set("exportName", ...)'.

Note that js.Module is only defined in runtimes which support CommonJSmodules (https://nodejs.org/api/modules.html). NodeJS supports it natively,but in browsers it can only be used if GopherJS output is passed through abundler which implements CommonJS (for example, webpack or esbuild).

var Undefined *Object

Undefined gives the JavaScript value "undefined".

funcInternalObject

func InternalObject(i interface{}) *Object

InternalObject returns the internal JavaScript object that represents i. Not intended for public use.

funcMakeFullWrapper

func MakeFullWrapper(i interface{}) *Object

MakeFullWrapper creates a JavaScript object which has wrappers for the exportedmethods of i, and, where i is a (pointer to a) struct value, wrapped gettersand setters(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty)for the non-embedded exported fields of i. Values accessed via these methodsand getters are themsevles wrapped when accessed, but an important point tonote is that a new wrapped value is created on each access.

funcMakeFunc

func MakeFunc(fn func(this *Object, arguments []*Object) interface{}) *Object

MakeFunc wraps a function and gives access to the values of JavaScript's "this" and "arguments" keywords.

funcMakeWrapper

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.

funcNewArrayBuffer

func NewArrayBuffer(b []byte) *Object

NewArrayBuffer creates a JavaScript ArrayBuffer from a byte slice.

func (*Object)Bool

func (o *Object) Bool()bool

Bool returns the object converted to bool according to JavaScript type conversions.

func (*Object)Call

func (o *Object) Call(namestring, args ...interface{}) *Object

Call calls the object's method with the given name.

func (*Object)Delete

func (o *Object) Delete(keystring)

Delete removes the object's property with the given key.

func (*Object)Float

func (o *Object) Float()float64

Float returns the object converted to float64 according to JavaScript type conversions (parseFloat).

func (*Object)Get

func (o *Object) Get(keystring) *Object

Get returns the object's property with the given key.

func (*Object)Index

func (o *Object) Index(iint) *Object

Index returns the i'th element of an array.

func (*Object)Int

func (o *Object) Int()int

Int returns the object converted to int according to JavaScript type conversions (parseInt).

func (*Object)Int64

func (o *Object) Int64()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 table in package comment for details.

func (*Object)Invoke

func (o *Object) Invoke(args ...interface{}) *Object

Invoke calls the object itself. This will fail if it is not a function.

func (*Object)Length

func (o *Object) Length()int

Length returns the object's "length" property, converted to int.

func (*Object)New

func (o *Object) New(args ...interface{}) *Object

New creates a new instance of this type object. This will fail if it not a function (constructor).

func (*Object)Set

func (o *Object) Set(keystring, value interface{})

Set assigns the value to the object's property with the given key.

func (*Object)SetIndex

func (o *Object) SetIndex(iint, value interface{})

SetIndex sets the i'th element of an array.

func (*Object)String

func (o *Object) String()string

String returns the object converted to string according to JavaScript type conversions.

func (*Object)Uint64

func (o *Object) Uint64()uint64

Uint64 returns the object converted to uint64 according to JavaScript type conversions (parseInt).

func (*Object)Unsafe

func (o *Object) Unsafe()uintptr

Unsafe returns the object as an uintptr, which can be converted via unsafe.Pointer. Not intended for public use.

typeS

type S []interface{}

S is a simple slice type. It is intended as a shorthand for JavaScript arrays (before conversion).

Source Files

View all Source files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f orF : Jump to
y orY : Canonical URL
go.dev uses cookies from Google to deliver and enhance the quality of its services and to analyze traffic.Learn more.

[8]ページ先頭

©2009-2025 Movatter.jp