章節連結
這則筆記記錄下一些關於 JavaScript 的冷知識,也可以稱之為雜項。某方面來說,就是某個物件、名詞或是觀念有一定重要性,但內容又不足以獨立成一篇的,就會歸類在這篇。
課程對應章節
Course 65 ~ Course 68 (全部一共有 85 Courses)
請注意:本系列文章為個人對應課程的消化吸收後,所整理出來的內容。換言之,並不一定會包含全部的課程內容,也有可能會添加其他資源來說明。課程連結網址:http://tinyurl.com/w7vrql6
內容
1. typeof 回傳型別,對於 Array,預設是回傳 Object (JavaScript中的 Array 是 Object)。若要得到 “Array” 字樣,那麼可以用 Object prototype 來呼叫原型鏈以得到 “Object Array” 字樣。
2. instanceof 可以讓使用者知道某個物件是否在原型鏈上。
3. type of null === Object ,這個是初始階段就存在的 error,為了避免造成重大影響,故沒有修正。
4. use strict 可以啟用 ES5 的嚴謹模式,這是一個選用功能,需在 JavaScript 檔案開頭作宣告。不過並非每一個 .js 檔案都有啟用這功能,若執行網路前端打包時,會有出錯的機會。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
/*Example1*/ let a = 10 console.log(typeof a) // number let b = "Hello World" console.log(typeof b) // string let c = {} console.log(typeof c) // object let d = [] console.log(typeof d) // object console.log(Object.prototype.toString.call(d)) // [object Array] /*Example2*/ function Person(name){ this.name = name } let x = new Person('Jack') console.log(x instanceof Person) // true /*Example3*/ console.log(typeof undefined) // undefined console.log(typeof null) // object |