CoffeeScript variable visibility

This Coffeescript: ```coffeescript class Device x: 1 # Instance variable y = 2 # Private instance variable @z: 3 # Class variable # Address and name are instance variables constructor: (@address, @name) -> ``` gives us this JavaScript: ```coffeescript Device = (function() { var y; Device.prototype.x = 1; y = 2; function Device(address, name) { this.address = address; this.name = name; } return Device; })(); ``` and the following visibility: ```coffeescript dev = new Device('X', 'Y') # => Device {address: "X", name: "Y", x: 1} dev.y # => undefined Device.z # => 3 ```