Python vs JavaScript--同じ機能で実現されるコード量を比較


注1:本人はPythonを使う時間が長いので、JavaScriptの実現に優雅ではないかもしれませんが、不適切な点があれば指摘してください.ありがとうございます.
注2:文章自体は二つの言語が同じ機能を表現する際の簡潔さだけを示し、複雑な機能需要の実現には関与しない.内容は個人的に偏っているので、読むには慎重にしなければならない.
じかんへんかん
秒数を秒単位で表示に変換します.たとえば150->「02:30:00」
Python実装:
def main(sec: int):
    """
    https://blog.csdn.net/lxq_9532/article/details/85759673
    """
    m, s = divmod(sec, 60)
    h, m = divmod(m, 60)
    return '{:0>2d}:{:0>2d}:{:0>2d}'.format(h, m, s)

JavaScript実装:
function main(sec) {
    // https://www.bbsmax.com/A/kPzOgYaozx/
    var out = ''
    
    var h = Math.floor(sec / 3600)
    var m = Math.floor(sec / 60) % 60
    var s = sec % 60
    
    if (h < 10) { out += '0' + h + ':' } else { out += h + ':' }
    if (m < 10) { out += '0' + m + ':' } else { out += m + ':' }
    if (s < 10) { out += '0' + s } else { out += s }
    
    return out
}

文字列アクション
「HELLO,world.」のスペースを削除し、大文字を小文字に変えて「hello,world.」に変更します.
Python実装:
text = 'HELLO, world.'
out = text.lower().replace(' ', '')
print(out)

JavaScript実装:
var text = 'HELLO, world.'
var out = text
    .split('')
    .filter(char => char != ' ')
    .map(char => char.toLowerCase())
    .join('')
console.log(out)

forサイクル
文字列の各文字を巡回して印刷
Python実装:
text = 'abcdefg'
for char in text:
    print(char)

JavaScript実装:
var text = 'abcdefg'

// == A ==
for (var i = 0; i < text.length; i++) {
    console.log(text[i])
}

// == B ==
text.forEach((char) => { console.log(char) })

// == C ==
for (const char of text) {
    console.log(char)
}


関連読書
  • https://pypi.org/project/javascripthon/