相关文章推荐
温柔的滑板  ·  Vue 3.0前的 TypeScript ...·  昨天    · 
逃跑的企鹅  ·  647 webpack中使用 ...·  7 小时前    · 
性感的黑框眼镜  ·  PostgreSQL Connector ...·  1 年前    · 
果断的火柴  ·  Setting up PostgreSQL ...·  2 年前    · 

在 PHP 中,变量是动态类型的,这意味着您可以将任何类型的值分配给变量,而无需声明其类型。在 TypeScript 中,您需要显式声明类型。

PHP 示例:

$var = "Hello";

TypeScript 示例:

let var: string = "Hello";

PHP 变量文档
TypeScript 变量声明文档

PHP 使用关联数组,即使用命名键的数组。TypeScript 使用对象来实现类似的功能。

PHP 示例:

$array = ["key" => "value"];

TypeScript 示例:

let array: { [key: string]: string } = { key: "value" };

PHP 数组文档
TypeScript 对象类型文档

空合并运算符

PHP 有一个空合并运算符 (??),如果第一个操作数存在且不为 null,则返回第一个操作数;否则,返回第二个操作数。TypeScript 也有类似的运算符。

PHP 示例:

$result = $value ?? "default";

TypeScript 示例:

let result = value ?? "default";

PHP 空合并运算符文档
TypeScript 空合并运算符文档

PHP 允许使用变量变量,其中变量的名称可以存储在另一个变量中。TypeScript 不直接支持这一点。

PHP 示例:

${"var" . $suffix} = "value";

TypeScript 示例:

let varName = "var" + suffix;
let [varName] = "value"; // 不可直接翻译

PHP 变量变量文档

PHP 有魔术方法,如 __get,允许您定义访问不可访问属性的行为。TypeScript 没有直接的等效项。

PHP 示例:

public function __get($name) {
    // ...

TypeScript 示例:

get(name: string): any {
    // ...

PHP 魔术方法文档

PHP 和 TypeScript 都支持匿名函数,但语法略有不同。

PHP 示例:

$func = function($arg) { return $arg; };

TypeScript 示例:

const func = (arg: any): any => arg;

PHP 匿名函数文档
TypeScript 箭头函数文档

两种语言都支持用于异常处理的 try-catch 块,但语法略有不同。

PHP 示例:

try {
    // ...
} catch (Exception $e) {
    // ...

TypeScript 示例:

try {
    // ...
} catch (e) {
    // ...

PHP 异常文档
TypeScript 错误处理文档

PHP 允许对函数参数进行类型提示,而 TypeScript 使用更强大的类型系统。

PHP 示例:

function foo(int $num) {
    // ...

TypeScript 示例:

function foo(num: number): void {
    // ...

PHP 类型提示文档
TypeScript 函数类型文档

接口和特性

PHP 和 TypeScript 都支持接口,但 PHP 有特性,而 TypeScript 没有。

PHP 示例:

interface MyInterface {
    // ...

TypeScript 示例:

interface MyInterface {
    // ...

PHP 接口文档
TypeScript 接口文档

PHP 支持基于参数数量的函数重载,而 TypeScript 使用不同的方法。

PHP 示例:

function foo($a) {
    // ...

TypeScript 示例:

function foo(a: string): void;
function foo(a: number): void;

PHP 函数重载文档
TypeScript 函数重载文档