2016-02-09 32 views
3

Visual Studio,暗示document.bodyHTMLElement,而不是HTMLBodyElement,這是爲什麼? - 我沒有運氣尋找答案。爲什麼document.body不是HTMLBodyElement?

class Test { 
    documentBody1: HTMLBodyElement; 
    documentBody2: HTMLElement; 

    constructor(){ 
     this.documentBody1 = document.body; //wrong 
     this.documentBody2 = document.body; //right 
    } 
} 

回答

3

的類型財產document.bodyHTMLElement的,但在大多數情況下,它指的是一個對象,它實際上是一個HTMLBodyElement

那麼爲什麼document.body沒有輸入HTMLBodyElement?因爲在某些文件中,它可能是指HTMLFrameSetElementHTMLElementHTMLBodyElementHTMLFrameSetElement的常見超類型。

更多在document.body的規格。

相關問題