개념을 이해하는 건 용어를 정확하게 이해하고 누군가에게 설명할 수 있다라는 뜻.
값은 식이 평가되어 생성된 결과.
평가는 식을 해석해서 값을 생성하거나 참조(가져오기) 하는것을 의미
// 10 + 20은 평가되어 숫자 값 30을 생성한다.
10 + 20; //30
모든값엔 데이터 타입을 가진다 -> 데이터 타입에 따라 해석이 다양하게 나옴
ex) 0100 0001 이 메모리에 저장되서 int면 65 char 이면 A이다
// 변수에는 10 + 20은 평가되어 숫자 값 30을 할당된다.
var sum = 10 + 20; //30
리터럴은 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법을 말한다.
리터널은 값을 생성하기 위해 미리 약속한 표기법이다.
var score = 100; //->100은 뭐다? 리터널이다
var score = 50+50; // 100
score; //100
변수 식별자를 참조하면 변수 값으로 평가된다 -> 식별자 참조는 값을 생성하지는 않지만 값으로 평가
표현식은 리터널, 식별자,연산자, 함수 호출등의 조합으로 이뤄질수 있다.
값으로 평가될 수 있는 문은 모두 표현식이다.
// 리터럴 표현식
10
'hello'
// 식별자 표현식(선언이 이미 존재한다고 가정)
sum
person.name
arr[1]
// 연산자 표현식
10+20
sum=10
sum!==10
// 함수/메서드 호출 표현식(선언이 이미 존재한다고 가정)
square()
person.getName()
var x = 1 + 2;
x + 23; // 26살..
// 변수 선언문은 값으로 평가될 수 없으므로 표현식이 아니다.
var x;
// 1, 2, 1+2, x=1+2는 모두 표현식이다.
// x=1+2는 표현식이면서 완전한 문이기도 하다.
x = 1 + 2;
var foo = var x; // 표현식이 아닌 문은 값처럼 사용이 안된다
var x; // 값이 없쥬? 표현식이 아님
x = 100; // 할당문이기에 표현식이 맞음
반대로 , 표현식인 문인 할당문은 값처럼 할당할 수 있다. 또한 그 문도 할당한 값으로 평가받는다
var foo = x = 1000;
console.log(foo); //1000
이렇게 표현식안 문은 값처럼 사용이 가능 . foo변수는 1000이 된다.
[모던 자바스크립트] 10장 객체 리터널 (0) | 2024.04.09 |
---|---|
[모던 자바스크립트] 7장 연산자 (2) | 2024.04.02 |
[모던자바스크립트] 6장 데이터 타입 (0) | 2024.03.28 |
[모던자바스크립트] 4장 변수 (0) | 2024.03.27 |
[모던 자바스크립트] 1장 프로그래밍 (1) | 2024.03.20 |