Джон Рэзіг піша пра шчасьце, што набліжаецца на ўсіх скрыптажабна-ўэбнутых дэвелопераў: ECMAScript 5 (канчатковы чарнавік апублікаваны ў красавіку 2009,
pdf 3.4MB) • назвы і нумары жабаскрыпта - гэта наогул асобная аповесьць, трэба будзе неяк сабраць усё ў адным месцы •
адна з навінаў новай версіі - strict mode (суворы рэжым) - гэта калі інтэрпрэтатар будзе лаяцца і кідацца памылкамі, калі ў кодзе нешта напісана няправільна або небясьпечна • раней усё гэта дазвалялася і браўзеры моўчкі праглыналі і хавалі, абы не засмушчаць кончанага юзэра •
пабачыў што сярод шматлікіх смачных і карысных новаўвядзеньняў ёсьць і адно ня вельмі даспадобнае: будуць забаронены доступ да arguments.callee і arguments.caller •
бяз arguments.callee для рэкурсіўнага вызава ананімнай функцыі давядзецца гэтай ананімнай функцыі ўсё такі даваць імя, а ў браўзерах ІЁ, каторыя з выхадам прывабнай 8й версіі ўсё роўна сакс адназначна, іменаваныя функцыі застаюцца ў кантэксьце:
( Read more... )а arguments.caller ужывалася некаторымі, каб генераваць стэк вызаваў - для тэставаньня-дыягназаваньня праблемаў • кажуць што для гэтага будзе асобны механізм (кшталту Error.stackTrace) •
але з прычынаў забясьпячэньня бясьпекі (не даваць тым функцыям, якія я вызываю, ніякай інфармацыі аба мне і аб тым, хто мяне вызваў, і забараніць ім зьмяняць мяне ці маіх папярэднікаў POLA, the Principle of Least Authority) гэтыя caller і callee будуць закрытыя •
Andrea Giammarchi таксама
абураецца:
how critical is the gap between programming language developers and programming languages active usersі дае прыклады, як можна будзе (давядзецца) абыходзіць гэтыя забароны: рабіць па два замыканьні, то бок пісаць болей, нагрувашчваць непатрэбны і непанятны код •