◆ あまりこれといった変更がなかった

今回は普通に使う人には全く変更なしかも



DevTools の Elements タブ
選択中やホバー中のタグの範囲がわかりやすいように縦線が入るようになりました

ch51



DOM の配列風なオブジェクトに Symbol.iterator が実装されました

49
[...document.children]
Uncaught TypeError: (var)[Symbol.iterator] is not a function

;[...document.querySelectorAll("body").constructor]
Uncaught TypeError: (var)[Symbol.iterator] is not a function

;[...document.body.classList]
// []

51
[...document.children]
// [ <html lang="ja"> ... </html>]

;[...document.querySelectorAll("body").constructor]
// [ <body> ... </body>]

;[...document.body.classList]
// []

DOMTokenList は前から使えましたので HTMLCollection と NodeList で使えるようになったようです
他にも 配列っぽいのあったっけ?



また Function.name が自動でつけられるようになりました
var fn = function(){}
console.log(fn.name)
// fn

var o = {meth: function(){}}
console.log(o.meth.name)
// meth

var a = [function(){}]
console.log(a[0].name)
// ""

var f = o.meth
console.log(f.name)
// meth

console.log(function(){}.name)
// ""

var var_name = function func_name(){}
console.log(var_name.name)
// func_name

var o = {}
o["fname"] = function(){}
console.log(o.fname.name)
// ""

無名関数でも最初に代入された変数名やプロパティ名が名前になります
最初の代入されるタイミングだけなので後から別の変数に入れても変わりません

また 配列の要素や代入しないで使う場合 オブジェクトでも [] を使って代入した場合 は名前が空文字列になります



Date や RegExp などの Symbol.toStringTag は変化なしです
console.log(Date.prototype[Symbol.toStringTag])
// undefined

console.log(RegExp.prototype[Symbol.toStringTag])
// undefined



と 気づいたのや調べて出てきたのはこれくらい
デフォルトオフの状態でならもっと色々 WebAPI が実装されています

新規では credentials API が使えるようになったみたいですが どんなものかイマイチわかってません

また Chrome は同じバージョンでも Windows, Mac, Linux, Android とさまざまな OS に出ていて 今回は Windows 以外では大きめな変更だったようです

Mac ではタブのデザインが影や丸みのないシンプルなものになったらしいです
Android では 5.0 以降のブラウザのタブなのかアプリのウィンドウなのかよくわからない感じに混ざってましたが これが不評だったようでなくなって Chrome のウィンドウ(アプリ)は Chrome ひとつだけでタブで管理される用に戻るんだとか