16. Array comprehension
// [1,2,3,4,5,6,7,8,9,10] // [1,2,3,4,5,6,7,8,9,10]
var array = []; var array =
for(var i=0; i<10; i++){ [i for (i=0; i<10; i++)];
array.push( i );
}
var array = []; var array =
for ( var key in obj ) { [ key for ( key in
obj ) ];
array.push( key );
}
17. Let Scoping
var test = 10;
var test = 10;
if ( test == 10 ) {
let( test = 20 ) { let newTest = 20;
alert( test ); // 20 test += newTest;
}
}
alert( test ); // 30
alert( test ); // 10 alert( newTest ); // undefined
for( let i=0; i<10; i++)
var test = 10;
{
alert( let( test = 20 )
alert( i );
test ); // 20
}
alert( test ); // 10
alert( i ); // undefined
18. Destructuring
// 値の入れ替え
[ b, a ] = [ a, b ];
// 複数値への代入
var [ name, sex ] = [ 'Bob', 'Man' ];
var { name: myName } = { name: 'Bob' };
// myName == 'Bob'
19. Destructuring (cont.)
var users = [
{ name: 'John', sex: 'Man'},
{ name: 'Bob', sex: 'Man'},
{ name: 'Jane', sex: 'Female'}
];
for( let { name: name, sex: sex } in users ) {
alert( name + ' is a ' + sex.toDowncase() );
}
20. Web Applications 1.0
• Web Hypertext Application Technology Working
Group: WHAT-WG
– ウェブアプリケーション 1.0 の仕様の整理をする団体
– DOM, HTML5, JavaScript…
• The entire Web Applications 1.0 specification:
http://whatwg.org/specs/web-apps/current-work/
• Canvas
– WHAT-WG で注目の仕様
– 画像の回転、線や図形を描くなどが可能に。
• The subsection of the specification dealing specifically with
the new <canvas> element: http://whatwg.org/specs/web-
apps/current-work/#the-2d