摘要:基本類型有六種,,,,,。類型是類數(shù)組,具有基礎(chǔ)類型檢測檢測基礎(chǔ)類型用只適合檢測基礎(chǔ)類型基礎(chǔ)類型轉(zhuǎn)換基本類型轉(zhuǎn)換時(shí),首先會調(diào)用,然后調(diào)用。該方法在轉(zhuǎn)基本類型時(shí)調(diào)用優(yōu)先級最高。
夯實(shí)Javascript基礎(chǔ)。
基本類型有六種: null,undefined,boolean,number,string,symbol。
基本類型的值是保存在棧內(nèi)存中的簡單數(shù)據(jù)段
基礎(chǔ)類型特性基礎(chǔ)類型最重要的特性
基礎(chǔ)類型是不變的
因此:基礎(chǔ)類型沒有splice,sort之類的直接改變變量的方法
強(qiáng)行改變基礎(chǔ)類型會報(bào)錯(cuò)
// str 不能調(diào)用 Array的 sort 和 splice Array.prototype.sort.call("strxyz"); // Uncaught TypeError: Cannot assign to read only property "2" of object "[object String]" Array.prototype.splice.call("strxyz"); // Uncaught TypeError: Cannot assign to read only property "length" of object "[object String]" // object 可以使用 Array的sort 和 splice Array.prototype.sort.call({x: 1, y: 2}); // {x: 1, y: 2} Array.prototype.splice.call({x: 1, y: 2}); // []
基礎(chǔ)類型沒有__proto__沒有屬性
str.x = 1; console.log(str.x); // undefined
所有對基礎(chǔ)類型屬性的訪問都是訪問的基本包裝類型 (String、Number、Boolean)
當(dāng)你調(diào)用 `str.length` 時(shí),實(shí)際過程是這樣的: -> 創(chuàng)建String類型的一個(gè)實(shí)例 -> 在實(shí)例上調(diào)用指定的方法 -> 銷毀這個(gè)實(shí)例 var str = "abc"; var _str = new String(str); var len = _str.length; _str = null; console.log(len);
其他特性
typeof null === "object"
(歷史遺留問題,因?yàn)?00開頭表示對象,而null全是0)
條件判斷時(shí) undefined null false NaN "" 0 -0 為 false,其他都為 true
(條件判斷時(shí)會隱式轉(zhuǎn)換為Boolean)
JS只有浮點(diǎn)類型(double),沒有整型
1 === 1.0
NaN 也屬于 number 類型,并且 NaN 不等于自身。
var a = NaN; a !== a;
String 類型是類數(shù)組,具有iterator
typeof String("x")[Symbol.iterator] === "function"
基礎(chǔ)類型檢測檢測基礎(chǔ)類型用 typeof
// typeof 只適合檢測 基礎(chǔ)類型 typeof new Date() // "object" typeof [] // "object" typeof {} // "object" typeof console.log // "function"基礎(chǔ)類型轉(zhuǎn)換
基本類型轉(zhuǎn)換時(shí),首先會調(diào)用 valueOf,然后調(diào)用 toString。并且這兩個(gè)方法可以重寫。
var a = 1; var obj = {x: 1}; obj.toString === "[object Object]"; var arr = [2, 3]; arr.toString() === "2,3"; a + obj === "1[object Object]"; a + arr === "12,3";
Symbol.toPrimitive該方法在轉(zhuǎn)基本類型時(shí)調(diào)用優(yōu)先級最高。
let a = { valueOf() { return 1; }, toString() { return "2"; }, [Symbol.toPrimitive]() { return 3; } } 1 + a // => 4四則運(yùn)算
在四則運(yùn)算中,除了"+" 其他操作都會以數(shù)字進(jìn)行計(jì)算
如果是 + 運(yùn)算,如果不是所有字面量都是number,那么會轉(zhuǎn)換為字符串(toString)進(jìn)行拼接
End持續(xù)更新中,Github信息更多哦,你的?是我最大的支持。查看詳情,
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/116062.html
摘要:基本類型有六種,,,,,。類型是類數(shù)組,具有基礎(chǔ)類型檢測檢測基礎(chǔ)類型用只適合檢測基礎(chǔ)類型基礎(chǔ)類型轉(zhuǎn)換基本類型轉(zhuǎn)換時(shí),首先會調(diào)用,然后調(diào)用。該方法在轉(zhuǎn)基本類型時(shí)調(diào)用優(yōu)先級最高。 夯實(shí)Javascript基礎(chǔ)。 基本類型有六種: null,undefined,boolean,number,string,symbol。 基本類型的值是保存在棧內(nèi)存中的簡單數(shù)據(jù)段 基礎(chǔ)類型特性 基礎(chǔ)類型最重要的...
摘要:基本類型有六種,,,,,。類型是類數(shù)組,具有基礎(chǔ)類型檢測檢測基礎(chǔ)類型用只適合檢測基礎(chǔ)類型基礎(chǔ)類型轉(zhuǎn)換基本類型轉(zhuǎn)換時(shí),首先會調(diào)用,然后調(diào)用。該方法在轉(zhuǎn)基本類型時(shí)調(diào)用優(yōu)先級最高。 夯實(shí)Javascript基礎(chǔ)。 基本類型有六種: null,undefined,boolean,number,string,symbol。 基本類型的值是保存在棧內(nèi)存中的簡單數(shù)據(jù)段 基礎(chǔ)類型特性 基礎(chǔ)類型最重要的...
摘要:中的強(qiáng)制轉(zhuǎn)換規(guī)則面試官中強(qiáng)制類型轉(zhuǎn)換是一個(gè)非常易出現(xiàn)的點(diǎn),知道強(qiáng)制轉(zhuǎn)換時(shí)候的規(guī)則嗎注規(guī)則最好配合下面什么時(shí)候發(fā)生轉(zhuǎn)換使用這些規(guī)則看效果更佳。調(diào)用方法用來把對象轉(zhuǎn)換成原始類型的值數(shù)值字符串和布爾值。 前言 showImg(https://segmentfault.com/img/bVbu4Fb?w=940&h=400);之前面試了幾個(gè)開發(fā)者,他們確實(shí)做過不少項(xiàng)目,能力也是不錯(cuò)的,但是發(fā)現(xiàn)...
摘要:前端工程師自檢清單對于,掌握其語法和特性是最基本的,但是這些只是應(yīng)用能力,最終仍舊考量仍然是計(jì)算機(jī)體系的理論知識,所以數(shù)據(jù)結(jié)構(gòu),算法,軟件工程,設(shè)計(jì)模式等基礎(chǔ)知識對前端工程師同樣重要,這些知識的理解程度,可以決定你在前端工程師這條路上能走多 2019前端工程師自檢清單 對于JavaScript,掌握其語法和特性是最基本的,但是這些只是應(yīng)用能力,最終仍舊考量仍然是計(jì)算機(jī)體系的理論知識,所...
閱讀 454·2024-11-07 18:25
閱讀 130762·2024-02-01 10:43
閱讀 944·2024-01-31 14:58
閱讀 904·2024-01-31 14:54
閱讀 83006·2024-01-29 17:11
閱讀 3264·2024-01-25 14:55
閱讀 2059·2023-06-02 13:36
閱讀 3167·2023-05-23 10:26