0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VB.NET 4.8.1を今の時代に触る!!PHP 8.x, TypeScript 5.xとの言語仕様比較(第2章 基本構文)

0
Last updated at Posted at 2025-12-27

目次
第1章 概要

第2章 基本構文

2.1 プログラム構造とエントリーポイント

PHP

<?php
// PHPタグで囲む
// エントリーポイントは不要、スクリプトは上から順に実行

echo "Hello, World!";

// 関数定義は任意の場所で可能
function main(): void
{
    echo "Main function";
}

main();

TypeScript

// モジュールとして実行
console.log("Hello, World!");

// 関数を定義して呼び出し
function main(): void {
    console.log("Main function");
}

main();

// Node.jsでのエントリーポイントパターン
if (require.main === module) {
    main();
}

VB.NET

' モジュールベース
Module Module1
    Sub Main()
        Console.WriteLine("Hello, World!")
    End Sub
End Module

' またはクラスベース
Class Program
    Shared Sub Main(args As String())
        Console.WriteLine("Hello, World!")
    End Sub
End Class

2.2 文の終端

言語 文の終端 備考
PHP セミコロン ; 必須 最後の文は省略可(非推奨)
TypeScript セミコロン ; 任意 ASI(自動セミコロン挿入)あり
VB.NET 改行 継続は _ または暗黙的継続

PHP

<?php
$a = 1;   // セミコロン必須
$b = 2;
$c = $a + $b;

TypeScript

const a = 1;  // セミコロンは任意
const b = 2
const c = a + b

VB.NET

Dim a As Integer = 1  ' 改行で文が終了
Dim b As Integer = 2
Dim c As Integer = a + b

' 行継続(明示的)
Dim longValue As Integer = 1 + 2 + 3 _
                         + 4 + 5

' 暗黙的な行継続(演算子、カンマの後など)
Dim result = 1 + 2 + 3 +
             4 + 5

2.3 コメント記法

PHP

<?php
// 単一行コメント

# シェルスタイルコメント(単一行)

/*
 * 複数行コメント
 */

/**
 * PHPDoc(ドキュメントコメント)
 * @param string $name 名前
 * @return string 挨拶文
 */
function greet(string $name): string
{
    return "Hello, $name";
}

TypeScript

// 単一行コメント

/*
 * 複数行コメント
 */

/**
 * JSDoc(ドキュメントコメント)
 * @param name - 名前
 * @returns 挨拶文
 */
function greet(name: string): string {
    return `Hello, ${name}`;
}

VB.NET

' 単一行コメント(アポストロフィ)

REM これもコメント(レガシー構文)

'''<summary>
''' XMLドキュメントコメント
'''</summary>
'''<param name="name">名前</param>
'''<returns>挨拶文</returns>
Function Greet(name As String) As String
    Return "Hello, " & name
End Function

2.4 識別子と命名規則

有効な識別子

言語 開始文字 使用可能文字 予約語の扱い
PHP $ + 文字/_ 文字、数字、_ 変数は$付きなので衝突しにくい
TypeScript 文字、_$ 文字、数字、_$ 予約語は使用不可
VB.NET 文字、_ 文字、数字、_ []で囲めば使用可

PHP

<?php
$userName = "John";      // キャメルケース
$user_name = "John";     // スネークケース
$_private = "secret";    // アンダースコア開始

class UserService {}     // パスカルケース(クラス)
const MAX_SIZE = 100;    // 大文字スネークケース(定数)

TypeScript

const userName = "John";      // キャメルケース(変数)
const MAX_SIZE = 100;         // 大文字スネークケース(定数)

class UserService {}          // パスカルケース(クラス)
type UserType = string;       // パスカルケース(型)

VB.NET

Dim UserName As String = "John"   ' パスカルケース(プロパティ)

Class UserService                 ' パスカルケース(クラス)
End Class

Const MAX_SIZE As Integer = 100   ' 大文字(定数)

' 予約語を識別子として使用
Dim [Class] As String = "MyClass"

2.5 大文字・小文字の区別

言語 区別 備考
PHP 部分的 変数は区別する、関数/クラスは区別しない
TypeScript する 完全に区別
VB.NET しない userNameUserNameは同一

PHP

<?php
$name = "John";
$Name = "Jane";  // 異なる変数

function hello() {}
function Hello() {}  // エラー:同じ関数として扱われる

class User {}
$u = new user();     // OK:クラス名は大文字小文字を区別しない

TypeScript

const name = "John";
const Name = "Jane";  // 異なる変数

function hello() {}
function Hello() {}   // 異なる関数

class User {}
class user {}         // 異なるクラス(ただし非推奨)

VB.NET

Dim name As String = "John"
Dim Name As String = "Jane"  ' コンパイルエラー:同じ変数

Sub Hello()
End Sub
Sub HELLO()  ' コンパイルエラー:同じメソッド
End Sub

Class User
End Class
Dim u As user  ' OK:Userと同じ

第3章 データ型

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?