Objects?

Rings are how you get the block itself as a value, not the result of running them.
The is _ a _ block detects the type of block that is ringified.

Wait... scripts (command blocks) can be turned into "reporters" with the report block, even if it isn't in the definition of reporter blocks. Commands that report things: are they commands or reporters? I see the problem now.

Yes, exactly. The terminology is ambiguous.

I can use new List([]) to generate lists.Can I use new Object({type:null}) to generate objs?

That'll make a JS object. Nothing in Snap! corresponds exactly with JS objects. Snap! objects are all of particular types: sprite, costume, sound. (And only sprites have inheritance.) This is why the IS_A_? block doesn't have an "object" option, but rather the three object types we know about.

You could, of course, write an interface to JS objects through Snap! blocks using JSFunction. You'd have to write blocks for getting and setting fields, for defining methods, and so on -- much like the prototyping OOP implementation in the manual.

OK... :sweat:

You can use my Objection project.

Yes...But why is there blocks like this:"<extendable?>"?

It is a method of the Object constructor.

oh...not usful

Do you know about constructors in JavaScript?

Yes!But its still unuseful.

You dont have to implement everything...

Oh,Use new SpriteMorph() :crazy_face:

use the type of block in dev mode