/* * Copyright (c) 2024 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ // FunctionDeclaration export function greet(name: string): string { return `Hello, ${name}`; } // MethodDeclaration inside a class class Person { private _age: number; // Constructor constructor(public name: string, age: number) { this._age = age; } // MethodDeclaration greet(): string { return `Hi, my name is ${this.name}`; } // GetAccessor get age(): number { return this._age; } // SetAccessor set age(age: number) { if (age > 0) { this._age = age; } } } // FunctionExpression assigned to a variable export const add = function(x: number, y: number): number { return x + y; }; // ArrowFunction assigned to a variable const multiply = (x: number, y: number): number => x * y; // Instance of class Person const person = new Person("John Doe", 30);