摘要:平时业务代码写多了,学习又懈怠,对的基本功能都不太熟悉了,面试答不上来,哭唧唧使用判断的是基本数据类型。未定义变量使用操作符主要基于类型的判断。假设基于创建一个类个分别是。
平时业务代码写多了,学习又懈怠,对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
其他
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/105601.html
摘要:变量的特点变量是松散类型的,所谓松散类型就是可以用来保存任何类型的数据。 变量的特点 js变量是松散类型的,所谓松散类型就是可以用来保存任何类型的数据。换句话说, 每个变量仅仅是一个用于保存值的占位符而已 js变量可以用来保存任何值,未经过初始化的变量,会保存一个特殊的值—undefined,如:var msg; js变量的初始化并不会为它标记类型;初始化的过程就是给变量赋一个值那...
摘要:中常常会看到这种代码变量与的比较这种用法很有问题用来判断变量是否被赋予了一个合理的值比如不好的写法执行一些逻辑这段代码中方法显然是希望是一个数组因为我们看到的拥有和这段代码的意图非常明显如果参数不是一个数组则停止接下来的操作这种写法的问题在 js中, 常常会看到这种代码: 变量与null的比较(这种用法很有问题), 用来判断变量是否被赋予了一个合理的值. 比如: const Contr...
摘要:解耦优势代码复用,单元测试。常用比较误区可同时判断,可用来判断对象属性是否存在。使用作判断无法进行充分的类型检查。文件中应用常量参考文档高级程序设计作者以乐之名本文原创,有不当的地方欢迎指出。 showImg(https://segmentfault.com/img/bVburXw?w=500&h=400); 编写可维护性代码 可维护的代码遵循原则: 可理解性 (方便他人理解) 直观...
阅读 2803·2021-11-24 09:39
阅读 2776·2021-09-23 11:45
阅读 3402·2019-08-30 12:49
阅读 3351·2019-08-30 11:18
阅读 1907·2019-08-29 16:42
阅读 3344·2019-08-29 16:35
阅读 1320·2019-08-29 11:21
阅读 1911·2019-08-26 13:49