표현식(expression)이라는 개념은 코드를 작성하며 의식하거나 말로 표현한 적이 거의 없는 것 같다. 문(statement)는 그래도 표현식 보다는 조금 더 많이 말하는 것 같다. 예를 들어 if문 처럼
어쩌다보니 두 개념을 구분해야하는 상황 두 가지를 봐서 정리해두려고 한다.
첫번째는 멘토님과의 멘토링에서 멘토님이 왜 이런지 궁금하지 않으신가요?라고 하시며 알려주셔서 알게되었고 두번째는 인터넷 서치하다가 들어간 블로그에서 알게 되었다.
두 개념을 영어로 보면 그 개념이 더 잘 와닿는 것 같다. 그래도 표현식은 여전히 잘 와닿지 않는다. expression이라...
참고한 블로그에 따르면
Expression은 ‘수식’이라는 뜻으로 하나 이상의 값으로 표현(reduce)될 수 있는 코드를 말한다. 핵심은, expression들은 평가(evaluate)가 가능해서 하나의 ‘값’으로 환원된다는 것이다.
기본적으로 표현식은 값을 생성하는 자바스크립트 코드입니다.
라고 설명한다. 첫번째 인용은 파이썬을 바탕으로 설명하고 두번째 인용은 JS를 바탕으로 설명하지만 대부분 언어에서 비슷하게 쓰이는 것 같아서 괜찮은듯
결국 마지막에 어떤 값이 나온다면 그걸 표현식이라고 생각하면 될 것 같다.
다음은 statement. statement는 ‘진술’, ‘서술’의 의미로 프로그래밍에서는 실행가능한(executable) 최소의 독립적인 코드 조각을 일컫는다.
자바스크립트 프로그램은 일련의 문입니다. 각 문은 컴퓨터가 무언가를 하도록 지시하는 것입니다.
expression은 마치 명사와 같다면 statement는 나에게 동사처럼 다가왔다. 프로그래밍 언어에서 어떤 동작을 지정해놓은 진술(statement)인 것이라고 생각했다. 그래서 가장 간단하게는 각 언어에 있는 키워드가 statement라고 생각했다. 키워드는 각자 정해진 역할이 있다는 것인이까!
표현식(expression) == 어떤 값을 반환 == 평가(evaluate)될 수 있음
문(statement) == 동작이 정해져있음 == 실행(excute)될 수 있음
https://dev-boku.tistory.com/entry/%EB%B2%88%EC%97%AD-%EB%AC%B8-vs-%ED%91%9C%ED%98%84%EC%8B%9D
https://shoark7.github.io/programming/knowledge/expression-vs-statement
https://shoark7.github.io/programming/knowledge/expression-vs-statement
https://dev-boku.tistory.com/entry/%EB%B2%88%EC%97%AD-%EB%AC%B8-vs-%ED%91%9C%ED%98%84%EC%8B%9D
https://velog.io/@jakeseo_me/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EA%B0%9C%EB%B0%9C%EC%9E%90%EB%9D%BC%EB%A9%B4-%EC%95%8C%EC%95%84%EC%95%BC-%ED%95%A0-33%EA%B0%80%EC%A7%80-%EA%B0%9C%EB%85%90-7-%ED%91%9C%ED%98%84%EC%8B%9D%EA%B3%BC-%EB%AC%B8Statement-%EB%B2%88%EC%97%AD-2xjuhvbal7
https://docs.python.org/ko/3/reference/simple_stmts.html#grammar-token-python-grammar-expression_stmt