仿寫instanceof

	/**
	 * @desc 模仿實現 instanceof
	 */
	function myInstanceof(target, origin) {
	  if (typeof(target) !== 'object' || target == null) return false 
	
	  // init
	  let proto = target.__proto__
	
	  while(true) {
	    // 如果已經是原型鏈的頂端,直接reture false
	    if (proto === null) return false
	    // 核心代碼
	    if (proto === origin.prototype) return true 
	    // 往上找
	    proto = proto.__proto__
	  }
	}
	
	console.log(myInstanceof([], Array))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章