function value() {
	white();
	switch ( ch ) {
	case '{':
		return object();
	case '[':
		return array();
	case '\'':
	case '"':
		return string();
	case '-':
	case '+':
	case '~':
	case 'I':
		return number();
	case '/':
		return regexp();
	case '.':
		return dots();
	case '<':
		return type();
	default:
		return ( ch >= '0' && ch <= '9' ) ? number() : word();
	}
}
Parses a value. It could be an object, an array, a string, a number, a regular expression, a placeholder sequence (`...`), a type annotation, or a word.

@private
@returns {*} parsed vlaue