TypeScript 新手指南
  • 前言
  • 簡介
    • 什麼是 TypeScript
    • 安裝 TypeScript
    • Hello TypeScript
  • 基礎
    • 原始資料型別
    • 任意值
    • 型別推論
    • 聯合型別
    • 物件的型別——介面
    • 陣列的型別
    • 函式的型別
    • 型別斷言
    • 宣告檔案
    • 內建物件
  • 進階
    • 型別別名
    • 字串字面量型別
    • 元組
    • 列舉
    • 類別
    • 類別與介面
    • 泛型
    • 宣告合併
    • 延伸閱讀
  • 工程
    • 程式碼檢查
  • 感謝
Powered by GitBook
On this page
  • 什麼是任意值型別
  • 任意值的屬性和方法
  • 未宣告型別的變數
  • 參考

Was this helpful?

  1. 基礎

任意值

任意值(Any)用來表示允許賦值為任意型別。

什麼是任意值型別

如果是一個普通型別,在賦值過程中改變型別是不被允許的:

let myFavoriteNumber: string = 'seven';
myFavoriteNumber = 7;

// index.ts(2,1): error TS2322: Type 'number' is not assignable to type 'string'.

但如果是 any 型別,則允許被賦值為任意型別。

let myFavoriteNumber: any = 'seven';
myFavoriteNumber = 7;

任意值的屬性和方法

在任意值上訪問任何屬性都是允許的:

let anyThing: any = 'hello';
console.log(anyThing.myName);
console.log(anyThing.myName.firstName);

也允許呼叫任何方法:

let anyThing: any = 'Tom';
anyThing.setName('Jerry');
anyThing.setName('Jerry').sayHello();
anyThing.myName.setFirstName('Cat');

可以認為,宣告一個變數為任意值之後,對它的任何操作,返回的內容的型別都是任意值。

未宣告型別的變數

變數如果在宣告的時候,未指定其型別,那麼它會被識別為任意值型別:

let something;
something = 'seven';
something = 7;

something.setName('Tom');

等價於

let something: any;
something = 'seven';
something = 7;

something.setName('Tom');

參考

Previous原始資料型別Next型別推論

Last updated 5 years ago

Was this helpful?

()

Basic Types # Any
中文版
上一章:原始資料型別
下一章:型別推論