1.不管什麼語言,上來就應該是數據類型了。js也不例外。那麼基本的數據類型我們有,boolean, number, string, null, undefine, symbol, object, function. 2. 有了基本類型,那麼我們怎麼去判斷一個變數的類型尼? 3. 如何去判斷是否是一個 ...
1.不管什麼語言,上來就應該是數據類型了。js也不例外。那麼基本的數據類型我們有,boolean, number, string, null, undefine, symbol, object, function.
2. 有了基本類型,那麼我們怎麼去判斷一個變數的類型尼?
console.info(typeof true === 'boolean'); console.info(typeof 1 === 'number'); console.info(typeof "1" === 'string'); console.info(typeof Symbol() === 'symbol'); console.info(typeof null === 'object'); console.info(typeof undefined === 'undefined'); console.info(typeof function(){} === 'function');
3. 如何去判斷是否是一個數組,是否是某個類的子類,那麼可以通過instanceof來判斷。
console.info(new Array() instanceof Array ); console.info( Array.isArray(new Array()) );
4. 最後附上一個深拷貝的函數。
//深拷貝函數 function deepCopy( src ){ var dest = Array.isArray( src ) ? []:{}; for(let id in src ){ dest[id] = typeof src[id] === 'object'? deepCopy(src[id]):src[id]; } return dest; }