Coffee Script
故あってcoffee scriptを学習中.javascriptのわけわかめな部分を解消するのがメリット?ということだけど、こいつもなかなか謎の動きをする気がする.
色々なやり方で関数をコール、問題がある場合に2通りの動き方をするのがとても怖い.
- 例外が投げられて明示的に落ちる.
- undefinedになる.
サンプルコード
class Voiceroid
@version : 'plus'
name : 'yukarin'
constructor: (_name) ->
@name = _name if _name?
say: (word) ->
@name + ':' + word
@what_version: ->
'This version is ' + @version
console.log Voiceroid.name
# class variable
console.log 'Voiceroid.version : ' + Voiceroid.version
console.log 'Voiceroid.waht_version() : ' + Voiceroid.what_version()
console.log 'Voiceroid.what_version : ' + new Voiceroid().what_version
console.log 'new Voiceroid().version : ' + new Voiceroid().version
# error
#console.log new Voiceroid().what_version()
#console.log Voideroid.name()
#console.log Voiceroid.version();
console.log new Voiceroid().say 'hello, hello'
console.log new Voiceroid("makimaki").say 'yukarin, can you hear me?'
実行結果.yukaary% node js/class.js
Voiceroid
Voiceroid.version : plus
Voiceroid.waht_version() : This version is plus
Voiceroid.what_version : undefined
new Voiceroid().version : undefined
yukarin:hello, hello
makimaki:yukarin, can you hear me?
No comments:
Post a Comment