| CARVIEW |
strict???[?h?Ƃ́H?mJavaScript?n?F.NET TIPS
???S??JavaScript?R?[?h?????????strict???[?h?͂??Ўg???????@?\?????A???Ƃ?????????B?{?e?ł?strict???[?h?̎g?????ƒ??ӓ_???Љ??B
?@
?@JavaScript???????Ă???Ƃ??A???????薢??`?̕ϐ????g???Ă??܂?????A?ϐ????̃X?y???~?X?????Ă??܂??āA?o?O???o???Ă??܂??????Ƃ͂Ȃ????낤???H ????Ȃ??Ƃ?h???ł????̂?strict???[?h?i???i???[?h?j???B?{?e?ł́A???̎g?????ƁA??̒??ӎ????????????B
strict???[?h?̐錾?ƌ???
?@?u"use strict";?v?i?܂??́u'use strict';?v?j?Ƃ???1????u?????ƂŁAstrict???[?h?ɂȂ?B
?@?X?N???v?g?̐擪?Ő錾????A?X?N???v?g?S?̂?strict???[?h?ɂȂ?B???̐擪?Ő錾????A???̊?????????strict???[?h?ɂȂ?B????ȊO?̏ꏊ?Ő錾???Ă????ʂ͂Ȃ??̂Œ??ӂ??悤?B
?@???X?R?[?v??strict???[?h???g??????A???̃R?[?h?Ɏ????B
// strict???[?h???g??Ȃ???
(function () {
x = 10; // ???[?J???ϐ??̂???ŏ??????ϐ??i?擪??var???????Y??j
var w = 15; // ????w?͐????????[?J???ϐ?
test(); // x=20, w=15
}());
// ??̊?????x?̓O???[?o???X?R?[?v?ɂȂ?̂ŁA?ǂ?????ł??ύX?ł???
function test() {
x = 20;
w = 25; // ????w?́A?O???[?o???X?R?[?v?̐V?????ϐ??ɂȂ?
}
// strict???[?h???g????
(function () {
"use strict";
// ????`?ϐ??̓G???[?ɂȂ?
try {
y = 20;
}
catch (e) {
alert(e);
// Edge?ł̃G???[???b?Z?[?W
// ReferenceError: Variable undefined in strict mode
}
}());
???̐擪?Ɂu"use strict";?v?Ə??????ƂŁA???̊?????strict???[?h?ɂȂ?B???̓r???ɏ????Ă??L???ɂȂ?Ȃ??̂Œ??ӂ??悤?B
??strict???[?h?ł́A?ϐ??錾?????Ȃ??܂ܕϐ????g???ƁA?O???[?o???X?R?[?v?ŕϐ????錾???ꂽ???̂ƌ??Ȃ????B???̂??߁A???̗?̕ϐ??ux?v?̂悤?ɁA?????????Ŏg???Ă??????ł??O???[?o???X?R?[?v?ɂȂ??Ă??܂??Bstrict???[?h?ł́A?擪??var?L?[???[?h??t???ĕϐ???錾???Ȃ??ƃG???[?ɂȂ?̂ŁA???̂悤?ȃ~?X?͂Ȃ??Ȃ?B
?Ȃ??A???́u(function () {?c?c?ȗ??c?c}());?v?Ƃ??????̏??????͑??????iIIFE?AImmediately-invoked function expression?j?Ƃ??????̂??B???????????̏?Ŏ??s???Ă????̂ł???B
?@strict???[?h?ł͏?̗?̂悤??var?L?[???[?h?̕t???Y???h???ł????B???̑??ɁA?ύX?ł??Ȃ??v???p?e?B?ւ̑????A???̈??????̏d???i?Ⴆ?A2?̈??????????ŁA?????̉????????????O?Ő錾???邱?Ɓj?Ȃǂ??`?F?b?N?????B?ڍׂ́AMSDN??MDN?̃h?L???????g???????????????????B
?@???̂悤?ȃ????b?g?̂???strict???[?h?́A???ǂ???JavaScript?ł͎g???̂???????O???Ƃ????邾?낤?B???????A?g?p?ɓ??????ċC??t???邱?Ƃ?2?_????̂ŁA?ȍ~?Ő???????B
?X?N???v?g?A?????
?@??̗?ł͊?????strict???[?h??錾?????B?????????????Ƃɐ錾???Ȃ??Ă??A?X?N???v?g?̐擪?Ő錾????悳?????Ȃ??̂????A????ɂ͗??Ƃ?????????B
?@?܂?A?????̃X?N???v?g?t?@?C????A??????Ƃ??ɖ??ɂȂ?̂??B?S?̂?strict???[?h?ɂȂ??Ă???X?N???v?g?t?@?C???̌??ɁA?S?̂???strict???[?h?ɂȂ??Ă???X?N???v?g?t?@?C????A??????ƁA?A?????ʂ͑S?̂?strict???[?h?ɂȂ??Ă??܂????߁A??strict???[?h?̃X?N???v?g?̕????ŃG???[???o?Ă??܂??i?t?ɑS?̂???strict???[?h?̃X?N???v?g?t?@?C????strict???[?h?̃X?N???v?g?t?@?C????A??????ƁA?S?Ă???strict???[?h?ɂȂ??Ă??܂??ꍇ??????j?B???̂悤?Ȏ??Ԃ?????邽?߁Astrict???[?h?͊????Ƃɐ錾????????悢???낤?B
?@?Ȃ??A???????q?ɂ??Ă???ꍇ?A?O???̊???strict???[?h??錾????Γ????̊??ł??L?????B
??Ή??u???E?U?ŋ??????ς???
?@?S?Ẵu???E?U??strict???[?h???T?|?[?g????Ă???킯?ł͂Ȃ??B?ŋ߂̃f?X?N?g?b?vPC?p?u???E?U?Ȃ?Ή????Ă??邪?A?Ⴆ??IE9?ȉ???Android 4.0?ȉ??ȂǁA??????ƌÂ??u???E?U?̒??ɂ͑Ή????Ă??Ȃ????̂?????B
?@??Ή??u???E?U?ł??Astrict???[?h?̐錾?͂????̕????e?????Ȃ̂ŁA?G???[?ɂȂ邱?Ƃ͂Ȃ??B???????A???????ς??ꍇ??????̂ŁAstrict???[?h??Ή??u???E?U?ł̃e?X?g?͌??????Ȃ??B
?@??Ƃ???eval???ŋ??????ς???????̃R?[?h?Ɏ????B
// strict???[?h
(function () {
"use strict";
var z = 30;
// strict???[?h?ł́A???z?Ɖ???eval????z?͕ʕ?
var result = eval("var z = 45; z;");
// z=30, result=45
}());
// ??strict???[?h
(function () {
var z = 30;
// ??strict???[?h?ł́A???z?Ɖ???eval????z?͓?????
var result = eval("var z = 45; z;");
// z=45, result=45
}());
strict???[?h?ł́A???[?J???ϐ?z?ƁAeval?????Ő錾???Ă???ϐ?z?Ƃ͕ʕ??ɂȂ?̂ŁAeval?????s??????[?J???ϐ?z??30?̂܂܂??B?Ƃ??낪?A?????strict???[?h??Ή??̃u???E?U?Ŏ??s????ƁA?????̂悤??eval?????ł̑???????[?J???ϐ?z?ɑ??čs???Ă??܂????߁Aeval?????s??̃??[?J???ϐ?z??45?ɕς???Ă??܂??B
???̂悤?ȃ??[?h?ɂ???ċ??????ς???Ă??܂??R?[?h?́A?i?u???E?U??????ł??Ȃ??ꍇ?ɂ́j?????Ȃ??悤?ɂ??邵???Ȃ??B
?y?R?????zVB??Option Strict
?@VB?̊J???҂?Option Strict?X?e?[?g?????g??A?z???邩??????Ȃ????A?ނ???u"using strict";?v??Option Explicit?X?e?[?g?????g?ɋ߂??B
?܂Ƃ?
?@?܂?Ȃ??~?X??h?~???邽?߁A???̐擪?ɂ́u"use strict";?v????????strict???[?h?ɂ??悤?B???????q?ɂ???ꍇ?́A??ԊO???̊??????ɏ????悢?B
?@???????Astrict???[?h??Ή??u???E?U?ł͋??????ς??ꍇ??????̂ŁA??Ή??u???E?U?ł̃e?X?g???K?v???B
?J?e?S???FJavaScript?@?????ΏہF????\??
?֘ATIPS?FVisual Studio?ŐÓIHTML?y?[?W??JavaScript?R?[?h???f?o?b?O????ɂ́H
?֘ATIPS?F?قȂ?f?[?^?^?̒l???r????ɂ́H?i==??===?̈Ⴂ?𗝉?????j?mJavaScript?n
?֘ATIPS?F???????̕?????Ɋ܂܂?Ă??邩?ׂ?ɂ́H?mJavaScript?n
?????̋L???Ɗ֘A???̍????ʂ?.NET TIPS
?u.NET TIPS?v
Copyright© Digital Advantage Corp. All Rights Reserved.
?A?C?e?B???f?B?A????̂??m?点
??IT eBook
?ҏW??????̂??m?点
RSS?ɂ???
?A?C?e?B???f?B?AID?ɂ???
???[???}?K?W???o?^
??IT?̃??[???}?K?W???́A ???????A???ׂĖ????ł??B???Ѓ??[???}?K?W???????w?ǂ????????B
ITmedia?̓A?C?e?B???f?B?A??????Ђ̓o?^???W?ł??B
???f?B?A?ꗗ | ????SNS | ?L???ē? | ???₢???킹 | ?v???C?o?V?[?|???V?[ | RSS | ?^?c??? | ?̗p??? | ??????






