Sunday, April 8, 2012

What does | in this code mean?

function foo() {}

var bar = foo <| function() {};

This is the first time I've seen something like this. What does <| mean?


Source: Tips4all


  1. Now that you have posted the link to the source, you can see in the comments at the top of the file exactly what it does (line 36):

    the <| operator -- defines the [[Prototype]] of a literal...

    For these examples <| used with a function expression sets the
    [[Prototype]] of the object created as the value of the function's
    "prototype" property to the value of the "prototype" property of the
    the LHS object. This is in addition to setting the [[Prototype]] of
    the function object itself. In other words, it builds sets the
    [[Prototype]] of both the function and of function.prototype to
    potentially different values.

  2. That throws a syntax error for me ("unexpected token" on the "|")

    For A complete list of javascript operators go here

  3. It means syntax error - invalid JavaScript construct.

  4. There's no "<|". I think it's a mistake and there should be "||".