Thursday, May 01, 2014

WDC 1.9 ecmascript 6 better js for the ambient webera

the ambient of computing era

- corporate - cobol, fortran
- personal - c++ family
- ambient - javascript

why js?
coz worse is better

- already there
- widest reach
- lowest risk
- write libs and apps once
- single knowledge and skillset

is it even possible to replace it?

how does js evolved?

invented in 10 days in may 1995
mocha- livescript- js

javascript cloned in microsoft ie3.0 jscript

standarization ecma scrjpt

called ecma becuse java is sun., js is microsoft
so use ecma for none owner naming

-- ecmascript?
ecmascript is the standard that define javascript

not part of w3c

js implementation
- google v8
- mozila spidermonkey
- microsoft chakra
- webkit jscore

2009 ecmascript 5 :
use strict - json, object.create, etc

2008 javascript performance problem.
2013 performance improved

2014 es6 almost done,

es6 improvement
- more concise syntax
modules and sandkng boxing
class declaration
control abstraction
array comprehensions
string interpolations

tc39 its not like this..
and not like this..
google, ms, fb, netflix, safarj, jquery, ebay, yahoo, ie, intels

ecma design challenges

the closure in loop problem

foreach() objcallback(x)

x will take the last.

local scoping WTF

var x
function x()


so what x will be?

why u need to worry about the edgecases?

because it will work on the browser but not on other browser

how we fix?
closire in loop?
instead var using let
let p in x
let v = doSomethjbg (x,p)

let will binding on scope variable

but want to avoid new let WTF

let x = 1
let x = 2

let x =
var x = 

the solution, there will static error.
anybody shouldn't code this things.

avoid inconsistent scoping WTF?
let x = 1
functionf ()
console log (x)
let x = 2

what will u get 1/ undefined / 2?
- never leaking scope.

avoid bogus const
using const x = 3
will be an error

-- but u need it in forward declaration
e.g mutual function
r1 = f(r2)
r2 = f(r1)

error vased upon time of actual access
nor upon position in source code
must be intialize before

what abt block scope function?
function g()

browser agree it will applied after it declared

but also disageee how to handle if g is not declare and call on the top or in the block or outside the block

unfortunately browser agree violate block scoping

its real
will be the future soon

No comments: