I write code for valid phone number. But when I compile project I have following mistakes:
output from command ""C:\Program Files (x86)\Microsoft SDKs\TypeScript\tsc" "C:..\Scripts\MyScripts\TS\BuildPhone.ts" "C:..\Scripts\MyScripts\TS\ProductsViewModel.ts" "C:..\Scripts\MyScripts\TS\helloWorld.ts"" with code 1.
// Interface
interface IPhoneBuild
{
showPhone(): string;
checkPhone(): boolean;
}
class Phone
{
Code: string;
Number: string;
Fax: boolean;
}
// Module
module Phones
{
// Class
export class PhoneBuild implements IPhoneBuild
{
private phone: Phone;
private codes: string[];
// Constructor
constructor(public Number: string, public Code: string, public Codes: string[])
{
this.phone = this.buildPhone(Number, Code);
this.codes = Codes;
}
//Private Methods
private clearPhone(public reg: string)
{
var re = /\W/g;
return reg.replace(re, "");
}
private buildPhone(public num: string, public code: string)
{
var p: Phone = { Code: "", Number: "", Fax: false };
num = this.clearPhone(num);
if (num.length == 6)
{
p = { Code: code, Fax: false, Number: num };
}
if (num.length == 11)
{
p = { Code: num.substring(0, 4), Fax: false, Number: num.substring(4)};
}
return p;
}
// Instance member
public showPhone()
{
return this.phone.Code + this.phone.Number;
}
public checkPhone()
{
return this.phone.Number.length != 7 || this.phone.Code.length == 0;
}
}
}
What do you think about? I need help.
I found resolve: Delete "public" in properties in methods: buildPhone and clearPhone.
You cannot declare parameters of a member function
as public. That is only valid for constructors where it is used as a shorthand for: