{"action":"created","issue":{"url":"https://api.github.com/repos/wavebeem/squiggle/issues/85","labels_url":"https://api.github.com/repos/wavebeem/squiggle/issues/85/labels{/name}","comments_url":"https://api.github.com/repos/wavebeem/squiggle/issues/85/comments","events_url":"https://api.github.com/repos/wavebeem/squiggle/issues/85/events","html_url":"https://github.com/wavebeem/squiggle/issues/85","id":111883602,"number":85,"title":"Semantics of property access","user":{"login":"wavebeem","id":176815,"avatar_url":"https://avatars.githubusercontent.com/u/176815?v=3","gravatar_id":"","url":"https://api.github.com/users/wavebeem","html_url":"https://github.com/wavebeem","followers_url":"https://api.github.com/users/wavebeem/followers","following_url":"https://api.github.com/users/wavebeem/following{/other_user}","gists_url":"https://api.github.com/users/wavebeem/gists{/gist_id}","starred_url":"https://api.github.com/users/wavebeem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wavebeem/subscriptions","organizations_url":"https://api.github.com/users/wavebeem/orgs","repos_url":"https://api.github.com/users/wavebeem/repos","events_url":"https://api.github.com/users/wavebeem/events{/privacy}","received_events_url":"https://api.github.com/users/wavebeem/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/wavebeem/squiggle/labels/question","name":"question","color":"e6e6e6"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-10-16T18:19:33Z","updated_at":"2015-10-21T19:54:39Z","closed_at":null,"body":"Currently `foo.bar` tests if `\"bar\" in foo` before throwing. Given that JS programs rarely care about a key being `in` an object, it might make more sense to just grab the key and check if it's `undefined` or `null`. This would also catch accidental `undefined` entries added to objects by lax JS code.\r\n\r\nAlso, should `null` get the same treatment as `undefined` here? I'm of the opinion that they're both basically interchangeable, where `undefined` is the kind of \"null\" that pops up automatically in the language, and `null` is the kind of \"null\" that you type explicitly when you can't think of a value that fits."},"comment":{"url":"https://api.github.com/repos/wavebeem/squiggle/issues/comments/150007466","html_url":"https://github.com/wavebeem/squiggle/issues/85#issuecomment-150007466","issue_url":"https://api.github.com/repos/wavebeem/squiggle/issues/85","id":150007466,"user":{"login":"wavebeem","id":176815,"avatar_url":"https://avatars.githubusercontent.com/u/176815?v=3","gravatar_id":"","url":"https://api.github.com/users/wavebeem","html_url":"https://github.com/wavebeem","followers_url":"https://api.github.com/users/wavebeem/followers","following_url":"https://api.github.com/users/wavebeem/following{/other_user}","gists_url":"https://api.github.com/users/wavebeem/gists{/gist_id}","starred_url":"https://api.github.com/users/wavebeem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wavebeem/subscriptions","organizations_url":"https://api.github.com/users/wavebeem/orgs","repos_url":"https://api.github.com/users/wavebeem/repos","events_url":"https://api.github.com/users/wavebeem/events{/privacy}","received_events_url":"https://api.github.com/users/wavebeem/received_events","type":"User","site_admin":false},"created_at":"2015-10-21T19:54:39Z","updated_at":"2015-10-21T19:54:39Z","body":"I'm just gonna go with \"throw if it's undefined\" for now."}}