å¤æ è¨æ³ Sharp Variables
A sharp variable is a syntax in object initializers that allows serialization of objects that have cyclic references or multiple references to the same object.
#æ°åã«ä»£å ¥ãããã¨ã§ãä»ã®ããããã£ããªãã©ã«å ã§åç §ã§ãããããã
let hoge = ({obj: #1={neko: 'cat'}, meow: #1#.neko}); alert(hoge.meow); // 'cat' alert(hoge.obj.neko); // 'cat' // ({obj: {neko: 'cat'}, meow: 'cat'})
使ãããã¿ã¼ã³
let ãããã§ããï¼
(#1=alert, #1#('hoge'));
çµãããªãæ
let journey = #1={walk: #1#}; journey.walk.walk.walk.walk.walk.walk.walk.walk.walk.walk.walk.walk.walk.walk
åç §ã¯ç¶ããã©ãã¾ã§ãã
ãã¡ãªãã¿ã¼ã³
é常ã®å¤æ°ã£ã¦ããã§ã¯ãªãã®ã§2è¡ç®ã§ã¨ã©ã¼ã«ãªãã
({obj: #1={neko: 'cat'}, meow: #1#.neko}) ({hoge: #1#})
ããããã ã
(#1=alert, function () (#1#()))()
ãªã³ã¯
- ãã¿ãã¨
- http://twitter.com/hasegawayosuke/status/9807406956