摘要:平時(shí)業(yè)務(wù)代碼寫多了,學(xué)習(xí)又懈怠,對(duì)的基本功能都不太熟悉了,面試答不上來(lái),哭唧唧使用判斷的是基本數(shù)據(jù)類型。未定義變量使用操作符主要基于類型的判斷。假設(shè)基于創(chuàng)建一個(gè)類個(gè)分別是。
平時(shí)業(yè)務(wù)代碼寫多了,學(xué)習(xí)又懈怠,對(duì)js的基本功能都不太熟悉了,面試答不上來(lái),哭唧唧1.使用typeof
判斷的是基本數(shù)據(jù)類型。
{} | object |
[] | object |
function(){} | function |
"1" | string |
null | object |
undefined/未定義變量 | undefined |
1/NaN | number |
true | boolean |
Symbol() | symbol |
主要基于object類型的判斷。
假設(shè)基于React.Component創(chuàng)建一個(gè)類
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個(gè)log分別是true true true true false。
基本可以看出instanceof與原型鏈有關(guān),MDN上的描述是The instanceof operator tests whether the prototype property of a constructor appears anywhere in the prototype chain of an object.
是否這個(gè)構(gòu)造函數(shù)的prototype屬性出現(xiàn)在這個(gè)對(duì)象的原型鏈中。
如果改動(dòng)了React.Component.prototype,就會(huì)出現(xiàn)
console.log(this instanceof React.Component); // false
其他
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/105601.html
摘要:定義運(yùn)算符用來(lái)判斷一個(gè)構(gòu)造函數(shù)的屬性所指向的對(duì)象是否存在另外一個(gè)要檢測(cè)對(duì)象的原型鏈上,用于引用類型。但其實(shí),實(shí)例的來(lái)自于構(gòu)造函數(shù)的。 一、關(guān)于css 樣式優(yōu)先級(jí): 行內(nèi)樣式>id選擇器樣式>類選擇器樣式>標(biāo)簽選擇器樣式>通配符選擇器的樣式>繼承樣式>默認(rèn)樣式 二、關(guān)于js 關(guān)于問題:**JavaScript中的所有事物都是對(duì)象??** 從typeof和instanceo...
摘要:變量的特點(diǎn)變量是松散類型的,所謂松散類型就是可以用來(lái)保存任何類型的數(shù)據(jù)。 變量的特點(diǎn) js變量是松散類型的,所謂松散類型就是可以用來(lái)保存任何類型的數(shù)據(jù)。換句話說(shuō), 每個(gè)變量?jī)H僅是一個(gè)用于保存值的占位符而已 js變量可以用來(lái)保存任何值,未經(jīng)過(guò)初始化的變量,會(huì)保存一個(gè)特殊的值—undefined,如:var msg; js變量的初始化并不會(huì)為它標(biāo)記類型;初始化的過(guò)程就是給變量賦一個(gè)值那...
摘要:中常常會(huì)看到這種代碼變量與的比較這種用法很有問題用來(lái)判斷變量是否被賦予了一個(gè)合理的值比如不好的寫法執(zhí)行一些邏輯這段代碼中方法顯然是希望是一個(gè)數(shù)組因?yàn)槲覀兛吹降膿碛泻瓦@段代碼的意圖非常明顯如果參數(shù)不是一個(gè)數(shù)組則停止接下來(lái)的操作這種寫法的問題在 js中, 常常會(huì)看到這種代碼: 變量與null的比較(這種用法很有問題), 用來(lái)判斷變量是否被賦予了一個(gè)合理的值. 比如: const Contr...
摘要:使用構(gòu)造函數(shù)創(chuàng)建對(duì)象后,新對(duì)象與構(gòu)造函數(shù)沒有關(guān)系了,新對(duì)象的屬性指向的是構(gòu)造函數(shù)的原型對(duì)象。構(gòu)造繼承使用父類的構(gòu)造函數(shù)來(lái)增強(qiáng)子類的實(shí)例,等于是在子類的構(gòu)造函數(shù)內(nèi)部執(zhí)行。 一.js原始類型: 在js中,存在著6種原始值: * boolean * number * string * undefined * null * symbol 注意: 雖然typeof null輸出的是o...
摘要:解耦優(yōu)勢(shì)代碼復(fù)用,單元測(cè)試。常用比較誤區(qū)可同時(shí)判斷,可用來(lái)判斷對(duì)象屬性是否存在。使用作判斷無(wú)法進(jìn)行充分的類型檢查。文件中應(yīng)用常量參考文檔高級(jí)程序設(shè)計(jì)作者以樂之名本文原創(chuàng),有不當(dāng)?shù)牡胤綒g迎指出。 showImg(https://segmentfault.com/img/bVburXw?w=500&h=400); 編寫可維護(hù)性代碼 可維護(hù)的代碼遵循原則: 可理解性 (方便他人理解) 直觀...
閱讀 2815·2021-11-24 09:39
閱讀 2790·2021-09-23 11:45
閱讀 3415·2019-08-30 12:49
閱讀 3366·2019-08-30 11:18
閱讀 1930·2019-08-29 16:42
閱讀 3352·2019-08-29 16:35
閱讀 1333·2019-08-29 11:21
閱讀 1927·2019-08-26 13:49