Edge: Cannot apply strict mode on functions with non-simple parameter list Firefox: SyntaxError: "use strict" not allowed in function with default parameter SyntaxError: "use strict" not allowed in function with rest parameter SyntaxError: "use strict" not allowed in function with destructuring parameter Chrome: SyntaxError: Illegal 'use strict' directive in function with non-simple parameter list
ÐеÑевод:
Edge: Ðе ÑдаÑÑÑÑ Ð¿ÑимениÑÑ ÑÑÑогий Ñежим к ÑÑнкÑиÑм Ñо ÑпиÑком, ÑодеÑжаÑим ÑложнÑе паÑамеÑÑÑ Firefox: ÐÑибка ÑинÑакÑиÑа: "use strict" не допÑÑкаеÑÑÑ Ð² ÑÑнкÑии Ñ Ð¿Ð°ÑамеÑÑом по ÑмолÑÐ°Ð½Ð¸Ñ ÐÑибка ÑинÑакÑиÑа: "use strict" не допÑÑкаеÑÑÑ Ð² ÑÑнкÑии Ñ rest паÑамеÑÑом ÐÑибка ÑинÑакÑиÑа: "use strict" не допÑÑкаеÑÑÑ Ð² ÑÑнкÑии Ñ Ð¿Ð°ÑамеÑÑом, иÑполÑзÑÑÑим деÑÑÑÑкÑÑÑизаÑÐ¸Ñ Chrome: ÐÑибка ÑинÑакÑиÑа: недопÑÑÑÐ¸Ð¼Ð°Ñ Ð´Ð¸ÑекÑива 'use strict' в ÑÑнкÑии Ñо ÑпиÑком, ÑодеÑжаÑим ÑложнÑе паÑамеÑÑÑТип оÑибки ЧÑо поÑло не Ñак?
ÐиÑекÑива "use strict"
бÑла иÑполÑзована в веÑÑ
ней ÑаÑÑи ÑÑнкÑии, коÑоÑÐ°Ñ Ð¸Ð¼ÐµÐµÑ Ð¾Ð´Ð¸Ð½ из ÑледÑÑÑиÑ
паÑамеÑÑов:
ÐиÑекÑива "use strict" не допÑÑкаеÑÑÑ Ð² веÑÑ Ð½ÐµÐ¹ ÑаÑÑи ÑÐ°ÐºÐ¸Ñ ÑÑнкÑий ÑоглаÑно ÑпеÑиÑикаÑии ECMAScript.
ÐÑимеÑÑ Ð¤ÑнкÑÐ¸Ñ Ð·Ð°ÑвлениÑÐ ÑÑом ÑлÑÑае ÑÑнкÑÐ¸Ñ sum Ð¸Ð¼ÐµÐµÑ Ð¿Ð°ÑамеÑÑÑ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ a=1 и b=2:
function sum(a = 1, b = 2) {
//SyntaxError: иÑполÑзоваÑÑ "use strict" не ÑазÑеÑено в ÑÑнкÑии Ñ Ð¿Ð°ÑамеÑÑом по ÑмолÑаниÑ
'use strict';
return a + b;
}
ÐÑли ÑÑнкÑÐ¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑÑ Ð² ÑÑÑогом Ñежиме, и веÑÑ ÑкÑÐ¸Ð¿Ñ Ð¸Ð»Ð¸ заклÑÑаÑÑÐ°Ñ ÑÑнкÑÐ¸Ñ Ñакже в поÑÑдке, ÑÑÐ¾Ð±Ñ Ð±ÑÑÑ Ð² ÑÑÑогом Ñежиме, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе пеÑемеÑÑиÑÑ Ð´Ð¸ÑекÑÐ¸Ð²Ñ "use strict" за пÑÐµÐ´ÐµÐ»Ñ ÑÑнкÑии:
"use strict";
function sum(a = 1, b = 2) {
return a + b;
}
ФÑнкÑÐ¸Ñ Ð²ÑÑажениÑ
ÐÑÑажение ÑÑнкÑии Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑ ÐµÑÑ Ð¾Ð´Ð¸Ð½ Ð¾Ð±Ñ Ð¾Ð´Ð½Ð¾Ð¹ пÑÑÑ:
var sum = function sum([a, b]) {
// SyntaxError: "use strict" не допÑÑкаеÑÑÑ Ð² ÑÑнкÑии Ñ Ð¿Ð°ÑамеÑÑом деÑÑÑÑкÑÑÑиÑованиÑ
'use strict';
return a + b;
};
ÐÑо Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿ÑеобÑазовано в ÑледÑÑÑее вÑÑажение:
var sum = (function () {
"use strict";
return function sum([a, b]) {
return a + b;
};
})();
УказаÑелÑÐ½Ð°Ñ ÑÑнкÑиÑ
ÐÑли ÑÑнкÑÐ¸Ñ Ñо ÑÑÑелкой должна полÑÑиÑÑ Ð´Ð¾ÑÑÑп к пеÑеменной this, можно иÑполÑзоваÑÑ ÑÑнкÑÐ¸Ñ Ñо ÑÑÑелкой в каÑеÑÑве ÑÑнкÑии вклÑÑениÑ:
var callback = (...args) => {
// SyntaxError: "use strict" не допÑÑкаеÑÑÑ Ð² ÑÑнкÑии Ñ Ð¿Ð°ÑамеÑÑом rest
'use strict';
return this.run(args);
};
ÐÑо Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿ÑеобÑазовано в ÑледÑÑÑее вÑÑажение:
var callback = (() => {
"use strict";
return (...args) => {
return this.run(args);
};
})();
СмоÑÑиÑе Ñакже
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4