# Order of evaluation differs for JVM and Javascript backend --- is it a bug or a feature?

**URL:** <https://discuss.kotlinlang.org/t/order-of-evaluation-differs-for-jvm-and-javascript-backend-is-it-a-bug-or-a-feature/563>\
**Category:** Uncategorized\
**Created:** [June 18, 2014, 5:25pm UTC](https://discuss.kotlinlang.org/t/order-of-evaluation-differs-for-jvm-and-javascript-backend-is-it-a-bug-or-a-feature/563 "2014-06-18T17:25:50Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![MichaelNedzelsky](https://avatars.discourse-cdn.com/v4/letter/m/f475e1/32.png) [@MichaelNedzelsky](https://discuss.kotlinlang.org/u/MichaelNedzelsky)\
**Post date:** [June 18, 2014, 5:25pm UTC](https://discuss.kotlinlang.org/t/order-of-evaluation-differs-for-jvm-and-javascript-backend-is-it-a-bug-or-a-feature/563/1 "2014-06-18T17:25:50Z")

</div>

```
var s = ""

fun a():String {
  s += "A"
  return ""
}

fun b():String {
  s += "B"
  return ""
}

fun c():String {
  s += "C"
  return ""
}

fun main(args : Array) {
  var res = (if(true) {a()} else "") + b() + (if (true) {c()} else "")
  println("s=${s}") // Java -> "ABC", Javascript -> "ACB"
}
```

* * *

Are their behavior well-defined somewhere in specification?

---

<div class="post-metadata">

**Author:** ![bashor](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.kotlinlang.org/bashor/32/1431_2.png) [@bashor](https://discuss.kotlinlang.org/u/bashor)\
**Post date:** [June 18, 2014, 5:35pm UTC](https://discuss.kotlinlang.org/t/order-of-evaluation-differs-for-jvm-and-javascript-backend-is-it-a-bug-or-a-feature/563/2 "2014-06-18T17:35:14Z")

</div>

Of Course it's bug.

Please file a bug to our [tracker](http://youtrack.jetbrains.com/)

Thanks!
