YU HengChun (2018-06-03T15:48:06.000Z)
Update


## Compatibility

For safety, it may be a good idea to use it with default values.

```js
let
  isUndefined = void Number,
    // Static type constraint does not take effect
  isNumberUndefined = void(Number)|undefined;
    // Static type constraint take effect

```

## Pending

I'm not sure if it is necessary to support multiple levels of nesting

```js
class ConfigType {
  constructor() {
    void {
      version: Number,
      encodeNames: Boolean,
      lines: [String],
      filename: String,
      linker: undefined | {       // Need support?
        statics: { [String]: Number },
      }
    };
  }
}
```
achun.shx at qq.com (2018-06-03T16:08:21.833Z)
Update


## Compatibility

For safety, it may be a good idea to use it with default values.

```js
let
  isUndefined = void Number,
    // Static type constraint does not take effect
  isNumberUndefined = void(Number)||undefined;
    // Static type constraint take effect

```

## Pending

I'm not sure if it is necessary to support multiple levels of nesting

```js
class ConfigType {
  constructor() {
    void {
      version: Number,
      encodeNames: Boolean,
      lines: [String],
      filename: String,
      linker: undefined || {       // Need support?
        statics: { [String]: Number },
      }
    };
  }
}
```