for understanding of javascript features