<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 原始數據類型 JavaScript 的類型分為兩種:原始數據類型([Primitive data types][])和對象類型(Object types)。 原始數據類型包括:布爾值、數值、字符串、`null`、`undefined` 以及 [ES6 中的新類型 `Symbol`][]。 本節主要介紹**前五種**原始數據類型在 TypeScript 中的應用。 ## 布爾值 布爾值是最基礎的數據類型,在 TypeScript 中,使用 `boolean` 定義布爾值類型: ```ts let isDone: boolean = false; // 編譯通過 // 后面約定,未強調編譯錯誤的代碼片段,默認為編譯通過 ``` 注意,使用構造函數 `Boolean` 創造的對象**不是**布爾值: ```ts let createdByNewBoolean: boolean = new Boolean(1); // Type 'Boolean' is not assignable to type 'boolean'. // 'boolean' is a primitive, but 'Boolean' is a wrapper object. Prefer using 'boolean' when possible. ``` 事實上 `new Boolean()` 返回的是一個 `Boolean` 對象: ```ts let createdByNewBoolean: Boolean = new Boolean(1); ``` 直接調用 `Boolean` 也可以返回一個 `boolean` 類型: ```ts let createdByBoolean: boolean = Boolean(1); ``` 在 TypeScript 中,`boolean` 是 JavaScript 中的基本類型,而 `Boolean` 是 JavaScript 中的構造函數。其他基本類型(除了 `null` 和 `undefined`)一樣,不再贅述。 ## 數值 使用 `number` 定義數值類型: ```ts let decLiteral: number = 6; let hexLiteral: number = 0xf00d; // ES6 中的二進制表示法 let binaryLiteral: number = 0b1010; // ES6 中的八進制表示法 let octalLiteral: number = 0o744; let notANumber: number = NaN; let infinityNumber: number = Infinity; ``` 編譯結果: ```js var decLiteral = 6; var hexLiteral = 0xf00d; // ES6 中的二進制表示法 var binaryLiteral = 10; // ES6 中的八進制表示法 var octalLiteral = 484; var notANumber = NaN; var infinityNumber = Infinity; ``` 其中 `0b1010` 和 `0o744` 是 [ES6 中的二進制和八進制表示法][],它們會被編譯為十進制數字。 ## 字符串 使用 `string` 定義字符串類型: ```ts let myName: string = 'Tom'; let myAge: number = 25; // 模板字符串 let sentence: string = `Hello, my name is ${myName}. I'll be ${myAge + 1} years old next month.`; ``` 編譯結果: ```js var myName = 'Tom'; var myAge = 25; // 模板字符串 var sentence = "Hello, my name is " + myName + ".\nI'll be " + (myAge + 1) + " years old next month."; ``` 其中 <code>&#96;</code> 用來定義 [ES6 中的模板字符串][],`${expr}` 用來在模板字符串中嵌入表達式。 ## 空值 JavaScript 沒有空值(Void)的概念,在 TypeScript 中,可以用 `void` 表示沒有任何返回值的函數: ```ts function alertName(): void { alert('My name is Tom'); } ``` 聲明一個 `void` 類型的變量沒有什么用,因為你只能將它賦值為 `undefined` 和 `null`: ```ts let unusable: void = undefined; ``` ## Null 和 Undefined 在 TypeScript 中,可以使用 `null` 和 `undefined` 來定義這兩個原始數據類型: ```ts let u: undefined = undefined; let n: null = null; ``` 與 `void` 的區別是,`undefined` 和 `null` 是所有類型的子類型。也就是說 `undefined` 類型的變量,可以賦值給 `number` 類型的變量: ```ts // 這樣不會報錯 let num: number = undefined; ``` ```ts // 這樣也不會報錯 let u: undefined; let num: number = u; ``` 而 `void` 類型的變量不能賦值給 `number` 類型的變量: ```ts let u: void; let num: number = u; // Type 'void' is not assignable to type 'number'. ``` ## 參考 - [Basic Types](http://www.typescriptlang.org/docs/handbook/basic-types.html)([中文版](https://zhongsp.gitbooks.io/typescript-handbook/content/doc/handbook/Basic%20Types.html)) - [Primitive data types][] - [ES6 中的新類型 `Symbol`][] - [ES6 中的二進制和八進制表示法][] - [ES6 中的模板字符串][] --- - [上一章:基礎](README.md) - [下一章:任意值](any.md) [Primitive data types]: https://developer.mozilla.org/en-US/docs/Glossary/Primitive [ES6 中的新類型 `Symbol`]: http://es6.ruanyifeng.com/#docs/symbol [ES6 中的二進制和八進制表示法]: http://es6.ruanyifeng.com/#docs/number#二進制和八進制表示法 [ES6 中的模板字符串]: http://es6.ruanyifeng.com/#docs/string#模板字符串
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看