PUROGU LADESU

ポエムがメインのブログです。

Javascriptの落とし穴6

JSON

JSONとオブジェクトリテラルは変換が必要。でも簡単にできる。

console.log(JSON.parse('{"x":1,"y":2,"z":3}'));
console.log(JSON.stringify(obj3));

オブジェクト変更の制限

use strictを宣言しないと効果がない(IEでは無効)

Object.preventExtensions(obj1); // 追加できない
Object.seal(obj1); // 削除できない
Object.freeze(obj1); // 変更できない

let obj1 = { x: 3, y: 4 };
obj1.x = 9;
delete obj1.y;
obj1.a = 2;
console.log(obj1);

ジェネレータ

配列よりメモリを食わない。

function* generator() {
  yield "aaaa";
  yield "bbbb";
  yield "cccc";
}

for (let g of generator()) {
  console.log(g);
}

モジュール

scriptタグでモジュールを使うことを宣言する必要がある。
exportで示されたものだけimportできる。

<script type="module" src="./test1.js"></script>
// test1.js"
import * as Api from './test2.js';

console.log(Api.aaa());
console.log(Api.bbb());
// test2.js"
function aaa() {
  return 'I am aaa';
}

function bbb() {
  return 'I am bbb';
}

export { aaa, bbb };