JsUndefined.cs 797 B

12345678910111213141516171819202122232425262728
  1. using System.Runtime.CompilerServices;
  2. using Jint.Runtime;
  3. namespace Jint.Native;
  4. public sealed class JsUndefined : JsValue, IEquatable<JsUndefined>
  5. {
  6. internal JsUndefined() : base(Types.Undefined)
  7. {
  8. }
  9. public override object? ToObject() => null;
  10. public override string ToString() => "undefined";
  11. protected internal override bool IsLooselyEqual(JsValue value)
  12. {
  13. return ReferenceEquals(Undefined, value) || ReferenceEquals(Null, value);
  14. }
  15. public override bool Equals(object? obj) => Equals(obj as JsUndefined);
  16. public override bool Equals(JsValue? other) => Equals(other as JsUndefined);
  17. public bool Equals(JsUndefined? other) => !ReferenceEquals(null, other);
  18. public override int GetHashCode() => RuntimeHelpers.GetHashCode(this);
  19. }