Search
Ad
|
新規
下位
一覧
検索
最新
ヘルプ
ページへ戻る
編集
複製
履歴
添付
印刷
TypeScriptの関数
をテンプレートにして作成
xpwiki
:TypeScriptの関数 をテンプレートにして作成
開始行:
[[公式ページ:http://www.typescriptlang.org/Handbook]]も参...
*関数定義
TypeScriptの関数定義はJavaScriptと同様で型が指定できるだ...
function testFunc(x:number,y:number):number{
return x + y;
}
console.log(testFunc(2,4)); // => 6
*関数型
無名関数を変数に入れるときには注意が必要となる。
var testFunc = function(x:number,y:number):number{
return x + y;
}
testFunc = function(x:number,y:number,z:number):number{ ...
return x + y + z;
}
ここで2度目の代入でエラーとなるのは、一度目の代入の型推論...
そのような関数の型を明示することもできる。
var testFunc:(x:number,y:number)=>number = function(x:nu...
return x + y;
}
var test2Func:(x:number,y:number,z:number)=>number;
test2Func = function(x:number,y:number,z:number):number{
return x + y + z;
}
これで無名関数をより厳密に扱うことができる。
また、このように明示的に関数の型を扱うときには、右辺の型...
var testFunc:(x:number,y:number)=>number = function(x,y){
return x + y;
}
*オプション引数とデフォルト引数
関数の引数に「?」をつけると引数を省略できるオプション引数...
function testFunc(x:number,y?:number){
if(y){
return x + y;
}
return x;
}
console.log(testFunc(1)); // => 1
console.log(testFunc(1,2)); // => 3
引数に「=」をつけるとデフォルト引数が指定できる。
function testFunc(x:number,y:number = 10){
return x + y;
}
console.log(testFunc(1)); // => 11
console.log(testFunc(1,2)); // => 3
*可変引数
「...」(ドット3つ)で引数の数を変更できる可変引数も使え...
function testFunc(...a:string[]):string{
return a.join(",");
}
console.log(testFunc("one","two","three","four")) // => ...
*ラムダ式とthis
ラムダ式は「=>」で定義する
console.log(((x:number,y:number)=>{return x + y;})(1,2))...
ラムダ式は「this」の扱いがより直観的になるというメリット...
var wrapper = {
x:2,
whatisx:function () {
return function(){
return this.x;
}
}
};
var w = wrapper.whatisx();
console.log(w()); // => undefined
すると実行結果は「undefined」となる。これは実行時に「this...
var wrapper = {
x:2,
whatisx:function () {
return () => {
return this.x;
}
}
};
var w = wrapper.whatisx();
console.log(w()); // => 2
こちらは直感通り「2」となる。
*オーバーライド
関数の定義を並べると変数や戻り値の型や個数を変えるオーバ...
function testFunc(x:number):number;
function testFunc(x:string):string;
function testFunc(x:number,y:number):number;
function testFunc(x:any,y:number = 1):any{
if(typeof x == "number"){
return x + y;
}else if(typeof x == "string"){
return "string:" + x;
}
}
console.log(testFunc(2)); // => 3
console.log(testFunc(2,4)); // => 6
console.log(testFunc("test")); // => "string:test"
testFunc(true); // => エラー
終了行:
[[公式ページ:http://www.typescriptlang.org/Handbook]]も参...
*関数定義
TypeScriptの関数定義はJavaScriptと同様で型が指定できるだ...
function testFunc(x:number,y:number):number{
return x + y;
}
console.log(testFunc(2,4)); // => 6
*関数型
無名関数を変数に入れるときには注意が必要となる。
var testFunc = function(x:number,y:number):number{
return x + y;
}
testFunc = function(x:number,y:number,z:number):number{ ...
return x + y + z;
}
ここで2度目の代入でエラーとなるのは、一度目の代入の型推論...
そのような関数の型を明示することもできる。
var testFunc:(x:number,y:number)=>number = function(x:nu...
return x + y;
}
var test2Func:(x:number,y:number,z:number)=>number;
test2Func = function(x:number,y:number,z:number):number{
return x + y + z;
}
これで無名関数をより厳密に扱うことができる。
また、このように明示的に関数の型を扱うときには、右辺の型...
var testFunc:(x:number,y:number)=>number = function(x,y){
return x + y;
}
*オプション引数とデフォルト引数
関数の引数に「?」をつけると引数を省略できるオプション引数...
function testFunc(x:number,y?:number){
if(y){
return x + y;
}
return x;
}
console.log(testFunc(1)); // => 1
console.log(testFunc(1,2)); // => 3
引数に「=」をつけるとデフォルト引数が指定できる。
function testFunc(x:number,y:number = 10){
return x + y;
}
console.log(testFunc(1)); // => 11
console.log(testFunc(1,2)); // => 3
*可変引数
「...」(ドット3つ)で引数の数を変更できる可変引数も使え...
function testFunc(...a:string[]):string{
return a.join(",");
}
console.log(testFunc("one","two","three","four")) // => ...
*ラムダ式とthis
ラムダ式は「=>」で定義する
console.log(((x:number,y:number)=>{return x + y;})(1,2))...
ラムダ式は「this」の扱いがより直観的になるというメリット...
var wrapper = {
x:2,
whatisx:function () {
return function(){
return this.x;
}
}
};
var w = wrapper.whatisx();
console.log(w()); // => undefined
すると実行結果は「undefined」となる。これは実行時に「this...
var wrapper = {
x:2,
whatisx:function () {
return () => {
return this.x;
}
}
};
var w = wrapper.whatisx();
console.log(w()); // => 2
こちらは直感通り「2」となる。
*オーバーライド
関数の定義を並べると変数や戻り値の型や個数を変えるオーバ...
function testFunc(x:number):number;
function testFunc(x:string):string;
function testFunc(x:number,y:number):number;
function testFunc(x:any,y:number = 1):any{
if(typeof x == "number"){
return x + y;
}else if(typeof x == "string"){
return "string:" + x;
}
}
console.log(testFunc(2)); // => 3
console.log(testFunc(2,4)); // => 6
console.log(testFunc("test")); // => "string:test"
testFunc(true); // => エラー
ページ名:
ぺージ情報
ぺージ名 :
TypeScriptの関数
ページ別名 :
未設定
ページ作成 :
njf
閲覧可
グループ :
すべての訪問者
ユーザー :
すべての訪問者
編集可
グループ :
すべての訪問者
ユーザー :
すべての訪問者
Counter: 0, today: 0, yesterday: 0
MenuBar
20
最新の0件
広告
ログイン
ユーザー名:
パスワード:
パスワード紛失