Question: I've heard a lot of talk that enabling bitcode decreases the binary size of an app downloaded from the app store onto iOS 9. I haven't been able to find any resources on whether or not bitcode decreases the binary size on previous iOS versions.

Does enabling bitcode decrease the binary size on iOS 7 or iOS 8?

**EDIT**
According to this [thread](https://forums.developer.apple.com/thread/19743) App Slicing and Bitcode are two separate components. This would make sense considering the documentation for [App Thinning](https://developer.apple.com/library/tvos/documentation/IDEs/Conceptual/AppDistributionGuide/AppThinning/AppThinning.html) splits them into different sections. Is there any official word from Apple on iOS requirements for Bitcode?

Answer: 
Here's another alternative approach. If your goal in looking for an equivalent of `use` in javascript is to write cleaner code, you might want to take a look at `window.variablename`. Variables at the global scope in javascript are implicitly properties of the window object. So for example, you could write:

```
var window.tax = 10;
var totalPrice = function (quantity, price){  //no need for 'use' or similar
    return (price * quantity) * (window.tax + 1.0);  //tax is usable here :(
};

```

This makes it explicitly clear to someone reading the code, that `tax` referenced in the function is the `tax` that's part of the global scope (namely `window.tax`).
I don't think JS will ever offer what you want. PHP has a strict scope. If I define a variable inside a function it's limited to that function. Likewise, something defined outside that function is not implicitly available inside the function. `use`, like `global` simply changes where and when you can use a variable inside a specific scope.

JS puts everything in the global scope by default. In fact, it's a form of bizarro world, in that you limit a variable's scope to within a function you either have to have it as an argument or explicitly **limit** the scope to that variable

```
function bob(x) {
    // x is implicitly local
    y = 1; //global
    var z = 2; //local
}

```

In other words, all variables in JS are `use` declared implicitly.