DEV Community ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป

DEV Community ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป is a community of 964,423 amazing developers

We're a place where coders share, stay up-to-date and grow their careers.

Create account Log in
Lรขm
Lรขm

Posted on

FlowJS Cheat Sheet

References

[Examples] Function signature

type Callback = (?Error, string) => any

function fetch (callback: Callback) {
  ยทยทยท
}
Enter fullscreen mode Exit fullscreen mode

[Examples] Examples

var myNumbers: Array<number> = [42]
function foo(): any { return 42 }
var b: boolean = false
var b: ?boolean = false  /* maybe */
var b: string | boolean = false

var a: Class<MyClass> = MyClass
var b: MyClass = new a()
Enter fullscreen mode Exit fullscreen mode

[Advanced features] React

type Props = {
  bar: number,
}

type State = {
  open: boolean,
}

class Foo extends React.Component<Props, State> {
  // Component code
}
Enter fullscreen mode Exit fullscreen mode

[Advanced features] Comment syntax

/*::
  export type Foo = { ... }
*/

function add(n /*: number */) { ... }
Enter fullscreen mode Exit fullscreen mode

[Advanced features] Imports

import type { Person } from '../person'
import typeof Config from '../config'
Enter fullscreen mode Exit fullscreen mode
export type Person = { id: string }
Enter fullscreen mode Exit fullscreen mode

[Advanced features] Functions

const callback: () => void = function () {}
Enter fullscreen mode Exit fullscreen mode
function filter<T> (
  list: Array<T>,
  callback: (item: T) => boolean
): Array<T> {
  ยทยทยท
}
Enter fullscreen mode Exit fullscreen mode

See: Functions

[Advanced features] Interfaces

interface Jsonable {
  toJSON(): string
}

class Foo {
  toJSON() { return '{}' }
}

(new Foo: Jsonable)
Enter fullscreen mode Exit fullscreen mode

See: Interfaces

[Advanced features] Generic classes

class GenericClass<T> {
  x: T
  constructor (x: T) { ... }
}

var n: GenericClass<number> = new GenericClass(0)
Enter fullscreen mode Exit fullscreen mode

See: Generic classes

[Advanced features] Type aliases

type Tree = {
  foo: string,
  bar: number,
  qux: (foo: string, bar: number) => boolean
}

type Generic<T> = {
  foo: T
}
Enter fullscreen mode Exit fullscreen mode

See: Type aliases

Top comments (1)

Collapse
 
lamhoanghg profile image
Lam Hoang

great

DEV has this feature:

Settings

Go to your customization settings to nudge your home feed to show content more relevant to your developer experience level. ๐Ÿ›