ik wil typechecking forceren op een argument dat ik meegeef aan een functie. normaal gesproken krijg je bijvoorbeeld bij
netjes de foutmelding found String where Number is required.
wanneer ik een type definieer voor een functie argument, krijg ik die foutmelding echter niet
ik dacht eerst dat typechecking wellicht binnen een functie niet werkte, omdat
ook geen foutmelding oplevert, maar
levert weer wel de gewenste foutmelding op.
verder levert
ook weer geen foutmelding, en
weer wel. Ik snap er niks meer van. Weet iemand hoe ik wel typechecking op functieargumenten kan forceren, en wat de logica achter het wel en niet krijgen van de foutmelding is?
code:
1
| var testVar:Number = "geen num"; |
netjes de foutmelding found String where Number is required.
wanneer ik een type definieer voor een functie argument, krijg ik die foutmelding echter niet
code:
1
2
3
4
| test = function(myVar:Number) {
trace(myVar);
}
test("geen number"); |
ik dacht eerst dat typechecking wellicht binnen een functie niet werkte, omdat
code:
1
2
3
4
| test = function(myVar:Number) {
var someVar:Number = myVar;
}
test("geen number"); |
ook geen foutmelding oplevert, maar
code:
1
2
3
4
| test = function(myVar:Number) {
var someVar:Number = "geen Number";
}
test("geen number"); |
levert weer wel de gewenste foutmelding op.
verder levert
code:
1
2
| var someString = "some String"; var testVar:Number = someString; |
ook weer geen foutmelding, en
code:
1
2
| var someString:String = "some String"; var testVar:Number = someString; |
weer wel. Ik snap er niks meer van. Weet iemand hoe ik wel typechecking op functieargumenten kan forceren, en wat de logica achter het wel en niet krijgen van de foutmelding is?