es6 do 表达式

{

lett=f();

t=t*t+1;

}

上面代码中,块级作用域将两个语句封装在一起。但是,在块级作用域以外,没有办法得到t的值,因为块级作用域不返回值,除非t是全局变量。

现在有一个提案,使得块级作用域可以变为表达式,也就是说可以返回值,办法就是在块级作用域之前加上do,使它变为do表达式。

let x = do {

let t = f();

t * t + 1;

};

上面代码中,变量x会得到整个块级作用域的返回值。

你可能感兴趣的:(es6 do 表达式)