code: func (self *_object) DefaultValue(hint _defaultValueHint) Value {
  	if hint == defaultValueNoHint {
  		if self.class == "Date" {
  			// Date exception
  			hint = defaultValueHintString
  		} else {
  			hint = defaultValueHintNumber
  		}
  	}
  	methodSequence := []string{"valueOf", "toString"}
  	if hint == defaultValueHintString {
  		methodSequence = []string{"toString", "valueOf"}
  	}
  	for _, methodName := range methodSequence {
  		method := self.get(methodName)
  		// FIXME This is redundant...
  		if method.isCallable() {
  			result := method._object().call(toValue_object(self), nil, false, nativeFrame)
  			if result.IsPrimitive() {
  				return result
  			}
  		}
  	}
  
  	panic(self.runtime.panicTypeError())
  }
docs: // 8.12.8