class Minjs::ECMA262::ExpStrictNotEq

Class of the Strict Does-not-equals operator expression element.

@see www.ecma-international.org/ecma-262 ECMA262 11.9

Public Class Methods

new(val, val2) click to toggle source
# File lib/minjs/ecma262/expression.rb, line 1670
def initialize(val, val2)
  @val = val
  @val2 = val2
end

Public Instance Methods

ecma262_typeof() click to toggle source

return results of ‘typeof’ operator.

@return [Symbol] :boolean

# File lib/minjs/ecma262/expression.rb, line 1697
def ecma262_typeof
  :boolean
end
priority() click to toggle source

@return [Fixnum] expression priority

# File lib/minjs/ecma262/expression.rb, line 1681
def priority
  PRIORITY_EQUALITY
end
reduce(parent) click to toggle source

reduce expression if available @param parent [Base] parent element

# File lib/minjs/ecma262/expression.rb, line 1687
def reduce(parent)
  if @val.respond_to?(:ecma262_typeof) and @val2.respond_to?(:ecma262_typeof) and
     (t = @val.ecma262_typeof) == @val2.ecma262_typeof and !t.nil?
    parent.replace(self, ExpNotEq.new(@val, @val2))
  end
end
sym() click to toggle source

symbol of expression

# File lib/minjs/ecma262/expression.rb, line 1676
def sym
  "!=="
end