Şöyle basit bir örnek hazırladım. Sadece her boşluğu sayıyor. Geliştirilebilir

<textarea id="countedText"></textarea>

<div id="count"></div>

<script>
    let text = document.getElementById('countedText')

    function wordCount(str) {
        return str.split(" ").length;
    }

    text.addEventListener('keyup', function () {
        document.getElementById('count').textContent = wordCount(text.value)
    })
</script>