摘要:平時業務代碼寫多了,學習又懈怠,對的基本功能都不太熟悉了,面試答不上來,哭唧唧使用判斷的是基本數據類型。未定義變量使用操作符主要基于類型的判斷。假設基于創建一個類個分別是。
平時業務代碼寫多了,學習又懈怠,對js的基本功能都不太熟悉了,面試答不上來,哭唧唧1.使用typeof
判斷的是基本數據類型。
{} | object |
[] | object |
function(){} | function |
"1" | string |
null | object |
undefined/未定義變量 | undefined |
1/NaN | number |
true | boolean |
Symbol() | symbol |
主要基于object類型的判斷。
假設基于React.Component創建一個類
class Board extends React.Component { //... render() { console.log(this instanceof Board);// true console.log(this instanceof React.Component);// true console.log(React.Component.prototype.isPrototypeOf(this));// true console.log(this instanceof Object);// true console.log(this instanceof Game);// false } //... } class Game extends React.Component { // ... }
5個log分別是true true true true false。
基本可以看出instanceof與原型鏈有關,MDN上的描述是The instanceof operator tests whether the prototype property of a constructor appears anywhere in the prototype chain of an object.
是否這個構造函數的prototype屬性出現在這個對象的原型鏈中。
如果改動了React.Component.prototype,就會出現
console.log(this instanceof React.Component); // false
其他
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/105601.html
摘要:變量的特點變量是松散類型的,所謂松散類型就是可以用來保存任何類型的數據。 變量的特點 js變量是松散類型的,所謂松散類型就是可以用來保存任何類型的數據。換句話說, 每個變量僅僅是一個用于保存值的占位符而已 js變量可以用來保存任何值,未經過初始化的變量,會保存一個特殊的值—undefined,如:var msg; js變量的初始化并不會為它標記類型;初始化的過程就是給變量賦一個值那...
摘要:中常常會看到這種代碼變量與的比較這種用法很有問題用來判斷變量是否被賦予了一個合理的值比如不好的寫法執行一些邏輯這段代碼中方法顯然是希望是一個數組因為我們看到的擁有和這段代碼的意圖非常明顯如果參數不是一個數組則停止接下來的操作這種寫法的問題在 js中, 常常會看到這種代碼: 變量與null的比較(這種用法很有問題), 用來判斷變量是否被賦予了一個合理的值. 比如: const Contr...
摘要:解耦優勢代碼復用,單元測試。常用比較誤區可同時判斷,可用來判斷對象屬性是否存在。使用作判斷無法進行充分的類型檢查。文件中應用常量參考文檔高級程序設計作者以樂之名本文原創,有不當的地方歡迎指出。 showImg(https://segmentfault.com/img/bVburXw?w=500&h=400); 編寫可維護性代碼 可維護的代碼遵循原則: 可理解性 (方便他人理解) 直觀...
閱讀 2808·2021-11-24 09:39
閱讀 2783·2021-09-23 11:45
閱讀 3411·2019-08-30 12:49
閱讀 3359·2019-08-30 11:18
閱讀 1923·2019-08-29 16:42
閱讀 3349·2019-08-29 16:35
閱讀 1327·2019-08-29 11:21
閱讀 1922·2019-08-26 13:49