diff --git a/lib/coffee_script/nodes.rb b/lib/coffee_script/nodes.rb index 3822e543..7e759b7c 100644 --- a/lib/coffee_script/nodes.rb +++ b/lib/coffee_script/nodes.rb @@ -386,7 +386,9 @@ module CoffeeScript parts[-1] << "#{SOAK}#{baseline += prop.compile(o)}" end else - parts << prop.compile(o) + part = prop.compile(o) + baseline += part + parts << part end end @last = parts.last diff --git a/test/fixtures/execution/test_existence.coffee b/test/fixtures/execution/test_existence.coffee index 253a8bf2..2d4c5593 100644 --- a/test/fixtures/execution/test_existence.coffee +++ b/test/fixtures/execution/test_existence.coffee @@ -41,6 +41,8 @@ obj: { print obj?.prop is "hello" +print obj.prop?.length is 5 + print obj?.prop?.non?.existent?.property is undefined