auto ReferenceHandle::TypeOfGetter() -> Local<Value> {
	CheckDisposed();
	switch (type_of) {
		case TypeOf::Null:
			return StringTable::Get().null;
		case TypeOf::Undefined:
			return StringTable::Get().undefined;
		case TypeOf::Number:
			return StringTable::Get().number;
		case TypeOf::String:
			return StringTable::Get().string;
		case TypeOf::Boolean:
			return StringTable::Get().boolean;
		case TypeOf::Object:
			return StringTable::Get().object;
		case TypeOf::Function:
			return StringTable::Get().function;
	}
	std::terminate();
}
auto ReferenceHandle::TypeOfGetter() -> Local<Value> {
	CheckDisposed();
	switch (type_of) {
		case TypeOf::Null:
			return StringTable::Get().null;
		case TypeOf::Undefined:
			return StringTable::Get().undefined;
		case TypeOf::Number:
			return StringTable::Get().number;
		case TypeOf::String:
			return StringTable::Get().string;
		case TypeOf::Boolean:
			return StringTable::Get().boolean;
		case TypeOf::Object:
			return StringTable::Get().object;
		case TypeOf::Function:
			return StringTable::Get().function;
	}
	std::terminate();
}