- ES6 教程
- ES6 - 首頁
- ES6 - 概述
- ES6 - 環境
- ES6 - 語法
- ES6 - 變數
- ES6 - 運算子
- ES6 - 決策制定
- ES6 - 迴圈
- ES6 - 函式
- ES6 - 事件
- ES6 - Cookie
- ES6 - 頁面重定向
- ES6 - 對話方塊
- ES6 - void 關鍵字
- ES6 - 頁面列印
- ES6 - 物件
- ES6 - 數字
- ES6 - 布林值
- ES6 - 字串
- ES6 - 符號
- ES6 - 新字串方法
- ES6 - 陣列
- ES6 - 日期
- ES6 - 數學
- ES6 - 正則表示式
- ES6 - HTML DOM
- ES6 - 迭代器
- ES6 - 集合
- ES6 - 類
- ES6 - Map 和 Set
- ES6 - Promise
- ES6 - 模組
- ES6 - 錯誤處理
- ES6 - 物件擴充套件
- ES6 - 反射 API
- ES6 - 代理 API
- ES6 - 驗證
- ES6 - 動畫
- ES6 - 多媒體
- ES6 - 除錯
- ES6 - 影像對映
- ES6 - 瀏覽器
- ES7 - 新特性
- ES8 - 新特性
- ES9 - 新特性
- ES6 實用資源
- ES6 - 快速指南
- ES6 - 實用資源
- ES6 - 討論
ES6 - handler.get()
以下示例定義了一個類 Student,包含建構函式和自定義的 getter 方法 fullName。自定義 getter 方法透過連線 firstName 和 lastName 返回一個新字串。該程式建立一個代理並定義一個處理物件,該物件在訪問 propertiesfirstName、lastName 和 fullName 時進行攔截。屬性值將以大寫形式返回。
<script>
class Student{
constructor(firstName,lastName){
this.firstName = firstName
this.lastName = lastName
}
get fullName(){
return `${this.firstName} : ${this.lastName}`
}
}
const handler = {
get: function(target,property){
Reflect.get(target,property).toUpperCase();
}
}
const s1 = new Student("Tutorials","Point")
const proxy = new Proxy(s1,handler)
console.log(proxy.fullName)
console.log(proxy.firstName)
console.log(proxy.lastName)
</script>
以上程式碼的輸出如下 −
TUTORIALS : POINT TUTORIALS POINT
廣告