다음을 통해 공유


구문 차이

프로그래밍 언어 간에 이동할 때 가장 명백한 변경은 구문의 변경입니다.

세 가지 언어로 선언된 것처럼 EnhEvents 개체의 Add 메서드를 고려합니다.

object.Add(Time As Double, Name As String) As Variant

HRESULT Add(
  double Time, 
  BSTR Name, 
  VARIANT* pVal
);
 
public com.ms.com.Variant Add( 
  double Time, 
  java.lang.String Name
);
 

각 언어의 구문은 메서드를 다르게 표현하지만 기능은 동일합니다. 각 언어에서 Add 메서드는 TimeName 매개 변수를 사용하고 EnhEvent 개체를 반환합니다. C++ 예제에서 메서드는 세 번째 출력 매개 변수인 pVal을 사용하여 개체를 반환합니다.

일반적으로 COM 개체의 기능은 프로그래밍 언어에서 동일합니다. 이 때문에 COM 개체에 대한 설명서는 개체가 사용 중인 언어가 아닌 다른 프로그래밍 언어로 문서화되어 있더라도 유용합니다. 개체의 기능, 매개 변수 및 반환 값에 대한 설명은 몇 가지 예외를 제외하고 모든 언어에 유효합니다.

COM 개체의 구문을 다른 프로그래밍 언어로 변환하는 방법에 대한 자세한 내용은 프로그래밍 언어에 대한 COM 개체 구문 번역을 참조하세요.

JavaScript, JScript 및 VBScript 스크립팅 언어 간의 구문 차이는 앞에 표시된 프로그래밍 언어 간의 구문 차이보다 덜 두드러집니다. 예를 들어 다음 세 가지 스크립팅 언어 각각에 구현되는 제곱 함수를 고려합니다.

Function square(x)
  square = x*x
End Function
 
function square(x){ return x*x; }
 
function square(x){ return x*x; }
 

프로그래밍 언어와 달리 스크립팅 언어는 약한 형식입니다. 즉, 함수를 선언할 때 매개 변수의 데이터 형식을 지정하거나 값을 반환할 필요가 없습니다. 대신 변수는 자동으로 적절한 데이터 형식으로 캐스팅됩니다. VBScript의 경우 모든 변수는 동일한 데이터 형식인 Variant입니다.

사각형에 대한 JavaScript 및 JScript 구문은 동일합니다. JScript는 JavaScript와 대체로 호환됩니다. 그러나 JScript에는 현재 JavaScript에서 지원되지 않는 일부 개체(예: ActiveXObject, 열거자, Error, GlobalVBArray)가 포함됩니다. 이러한 개체에 대한 자세한 내용은 JScript 언어 참조를 참조하세요.

표면에서 JavaScript 및 JScript 구문은 Java 구문과 유사합니다. 이 유사성은 피상적일 뿐입니다. Java 언어는 JavaScript와 JScript 모두에서 독립적으로 개발되었으며 둘 중 하나와 관련이 없습니다.

반면 VBScript는 Visual Basic 프로그래밍 언어의 하위 집합입니다. 이 때문에 VBScript 구문은 Visual Basic 구문의 하위 집합이며 Visual Basic 구문과 교환할 수 있는 경우가 많습니다.

스크립팅 언어에서 COM 개체를 사용하는 방법에 대한 자세한 내용은 COM 개체를 사용한 스크립팅을 참조하세요.