JavaScript ES6對Proxy的原生支持的一個例子:開發人員學習額外的編程語言
- 2020 年 3 月 26 日
- 筆記
源代碼:
<html> <script> function Employee(name){ this.name = name; }; Employee.prototype.work = function(language){ console.log(this.name + " is developing with: " + language); } let jerry = new Employee("Jerry"); function hireEmployee(employee, language){ employee.work(language); } hireEmployee(jerry, "JavaScript"); var proxyLogic = { get: function(target, name) { if( name == "work"){ var oriFun = target[name].bind(target); return function(language){ oriFun(language); console.log("and also study other language in spare time"); } } } }; var jerryProxy = new Proxy(jerry, proxyLogic ); hireEmployee(jerryProxy, "JavaScript"); </script> </html>

使用代理模式,使得Jerry作為一個ABAP開發人員被僱傭的時候,在業餘時間裏,也能自學其他的編程語言:
