GetPrimitiveType() публичный статический Метод

public static GetPrimitiveType ( Jint.Native.JsValue value ) : Types
value Jint.Native.JsValue
Результат Types
Пример #1
0
        public static bool SameValue(JsValue x, JsValue y)
        {
            var typea = TypeConverter.GetPrimitiveType(x);
            var typeb = TypeConverter.GetPrimitiveType(y);

            if (typea != typeb)
            {
                return(false);
            }

            if (typea == Types.None)
            {
                return(true);
            }
            if (typea == Types.Number)
            {
                var nx = TypeConverter.ToNumber(x);
                var ny = TypeConverter.ToNumber(y);

                if (double.IsNaN(nx) && double.IsNaN(ny))
                {
                    return(true);
                }

                if (nx.Equals(ny))
                {
                    if (nx.Equals(0))
                    {
                        // +0 !== -0
                        return(NumberInstance.IsNegativeZero(nx) == NumberInstance.IsNegativeZero(ny));
                    }

                    return(true);
                }

                return(false);
            }
            if (typea == Types.String)
            {
                return(TypeConverter.ToString(x) == TypeConverter.ToString(y));
            }
            if (typea == Types.Boolean)
            {
                return(TypeConverter.ToBoolean(x) == TypeConverter.ToBoolean(y));
            }
            return(x == y);
        }