반응형
4.1 기본 표현식
- 상수, 리터럴 값, 일부 키워드, 변수 참조
4.2 객체와 배열 초기화 표현식
- 그 값이 새로 생성된 객체나 배열인 표현식. 객체 리터럴 혹은 배열 리터럴이라고 부른다
4.3 함수 정의 표현식
- 함수 리터럴
4.4 프로퍼티 접근 표현식
- 점 표기법, 대괄호 표기법
- 점 표기법은 접근하고자 하는 이름이 유효한 식별자이고, 그 이름을 알고 있을때만 사용
- 프로퍼티 이름에 스페이스나 구두점, 숫자인 경우, 변수일 때에는 대괄호 표기법을 써야한다.
expression.identifier
expression[expression]
- 조건부 프로퍼티 접근(옵셔널 체이닝) → undefined, null 일때 종료(undefined로 평가) ⇒ TypeError 방지
4.5 호출 표현식
- 함수나 메서드를 호출하는 문법
f(0) // f는 함수 표현식이고 8은 인자 표현식입니다.
Math.max(x,y,z) // Math.max는 함수이고 x, y, z는 인자입니다.
a.sort() // a.sort는 함수이고 인자는 없습니다.
- 옵셔널 체이닝을 통해 조건부 호출 가능
4.6 객체 생성 표현식
- 객체 생성 표현식은 객체를 생성하고 함수(생성자)를 호출해 객체 프로퍼티를 초기화
- new 키워드가 붙음
4-7. 연산자 개요
- 1항 연산자, 2항 연산자, 3항 연산자 (피연산자 개수를 기준으로 분류)
- 부수효과: 할당 연산자 혹은 ++, - - 연산자 경우 표현식 이후 평가 결과에 영향을 미침
- 우선순위: 동작 순서 결정, 우선순위가 높은 순서로 수정되며 () 괄호를 이용해 순서를 변경할 수 있음
- 결합성(R, L): 우선 순위가 같은 동작을 수행할때의 순서(L: 왼쪽에서 오른쪽, R:오른쪽에서 왼쪽)
4-8 산술 표현식
- “+” 는 숫자 피연산자는 더하고, 문자열 피연산자는 병합, 연산자의 타입이 일치하지 않으면 문자열 병합이 우선
- “++”가 피연산자 앞에 있을때는 전위 증가 연산자, 뒤에 있을때에는 후위 증가 연산자
- 전위 연산자는 1 더해진 값으로 평가, 후위 연산자는 1 더하기 전의 값으로 평가
1 + 2 // => 3: 덧셈
"1" + "2" // => "12": 병합
"1" + 2 // => "12": 숫자를 문자열로 변환한 후 병합
1 + {} // => "l[object Objectl": 객체를 문자열로 변환한 후 병합
true + true // => 2: 불 값을 숫자로 변환한 후 덧셈
2 + null // => 2: null을 0으로 변환한 후 덧셈
2 + undefined // => NaN: undefined를 NaN으로 번환한 후 덧셈
let i = 1, ++i; // i와 j는 모두 2입니다.
let n 1, m= n++; // n은 2이고 m은 1입니다.
4-9 관계 표현식
- “===” 일치 연산자, 타입까지 완전히 같은지 반환 (↔ ”!== “)
- “==” 동등 연산자, 타입 변환을 허용하여 두 피연산자가 같다고 볼 수 있는지 체크 (↔ ”! = “)
🙊 왜 “11” < “3” true?
(아스키 코드로 비교한다. 맨 앞글자 “1” 과 “3” 을 비교했을때 3의 아스키코드가 커서!)
4-10 논리 표현식
- &&, ||, !
4-11 할당 표현식
- 할당 연산자 “=”의 우선순위는 낮다.
- 할당과 연산을 동시 지원 (단축 표현), “+=” , “-=”
4.12 평가 표현식
- eval(): 보안으로 사용을 매우 권장하지 않다.
- 문자열이 아닌 값을 전달하면, 그 값을 반환. 문자열을 전달하면 자바스크립트 코드로 분석 시도 실패하면 syntaxError, 문자열 성공적으로 분석 시 코드를 평가하고 문자열의 마지막 표현식 또는 문의 값을 반환하고 마지막 표현식이나 문에 값이 없다면 undefined를 반환한다.
- eval()을 호출했을 때의 핵심은 eval()이 자신을 호출한 코드의 변 수 환경을 사용한다는 점
4.13 기타 연산자
- 조건 연산자 (3항 연산자)
- null 병합 연산자 (??) : 왼쪽 피 연산자가 nuH이나 undefined가 아니면 그 값을 반환
- || 를 쓸때는 0을 조심해서 써야함. 0은 false 처리라 무시됨. 이럴때는 ??를 써야한다.
- void: 단항 연산자이며 피 연산자 타입을 가리지 않음. 피연산자를 평가한 후 그 값을 버 리고 undefined를 반환
4.1 기본 표현식
- 상수, 리터럴 값, 일부 키워드, 변수 참조
4.2 객체와 배열 초기화 표현식
- 그 값이 새로 생성된 객체나 배열인 표현식. 객체 리터럴 혹은 배열 리터럴이라고 부른다
4.3 함수 정의 표현식
- 함수 리터럴
4.4 프로퍼티 접근 표현식
- 점 표기법, 대괄호 표기법
- 점 표기법은 접근하고자 하는 이름이 유효한 식별자이고, 그 이름을 알고 있을때만 사용
- 프로퍼티 이름에 스페이스나 구두점, 숫자인 경우, 변수일 때에는 대괄호 표기법을 써야한다.
expression.identifier
expression[expression]
- 조건부 프로퍼티 접근(옵셔널 체이닝) → undefined, null 일때 종료(undefined로 평가) ⇒ TypeError 방지
4.5 호출 표현식
- 함수나 메서드를 호출하는 문법
f(0) // f는 함수 표현식이고 8은 인자 표현식입니다.
Math.max(x,y,z) // Math.max는 함수이고 x, y, z는 인자입니다.
a.sort() // a.sort는 함수이고 인자는 없습니다.
- 옵셔널 체이닝을 통해 조건부 호출 가능
4.6 객체 생성 표현식
- 객체 생성 표현식은 객체를 생성하고 함수(생성자)를 호출해 객체 프로퍼티를 초기화
- new 키워드가 붙음
4-7. 연산자 개요
- 1항 연산자, 2항 연산자, 3항 연산자 (피연산자 개수를 기준으로 분류)
- 부수효과: 할당 연산자 혹은 ++, - - 연산자 경우 표현식 이후 평가 결과에 영향을 미침
- 우선순위: 동작 순서 결정, 우선순위가 높은 순서로 수정되며 () 괄호를 이용해 순서를 변경할 수 있음
- 결합성(R, L): 우선 순위가 같은 동작을 수행할때의 순서(L: 왼쪽에서 오른쪽, R:오른쪽에서 왼쪽)
4-8 산술 표현식
- “+” 는 숫자 피연산자는 더하고, 문자열 피연산자는 병합, 연산자의 타입이 일치하지 않으면 문자열 병합이 우선
- “++”가 피연산자 앞에 있을때는 전위 증가 연산자, 뒤에 있을때에는 후위 증가 연산자
- 전위 연산자는 1 더해진 값으로 평가, 후위 연산자는 1 더하기 전의 값으로 평가
1 + 2 // => 3: 덧셈
"1" + "2" // => "12": 병합
"1" + 2 // => "12": 숫자를 문자열로 변환한 후 병합
1 + {} // => "l[object Objectl": 객체를 문자열로 변환한 후 병합
true + true // => 2: 불 값을 숫자로 변환한 후 덧셈
2 + null // => 2: null을 0으로 변환한 후 덧셈
2 + undefined // => NaN: undefined를 NaN으로 번환한 후 덧셈
let i = 1, ++i; // i와 j는 모두 2입니다.
let n 1, m= n++; // n은 2이고 m은 1입니다.
4-9 관계 표현식
- “===” 일치 연산자, 타입까지 완전히 같은지 반환 (↔ ”!== “)
- “==” 동등 연산자, 타입 변환을 허용하여 두 피연산자가 같다고 볼 수 있는지 체크 (↔ ”! = “)
🙊 왜 “11” < “3” true?
(아스키 코드로 비교한다. 맨 앞글자 “1” 과 “3” 을 비교했을때 3의 아스키코드가 커서!)
4-10 논리 표현식
- &&, ||, !
4-11 할당 표현식
- 할당 연산자 “=”의 우선순위는 낮다.
- 할당과 연산을 동시 지원 (단축 표현), “+=” , “-=”
4.12 평가 표현식
- eval(): 보안으로 사용을 매우 권장하지 않다.
- 문자열이 아닌 값을 전달하면, 그 값을 반환. 문자열을 전달하면 자바스크립트 코드로 분석 시도 실패하면 syntaxError, 문자열 성공적으로 분석 시 코드를 평가하고 문자열의 마지막 표현식 또는 문의 값을 반환하고 마지막 표현식이나 문에 값이 없다면 undefined를 반환한다.
- eval()을 호출했을 때의 핵심은 eval()이 자신을 호출한 코드의 변 수 환경을 사용한다는 점
4.13 기타 연산자
- 조건 연산자 (3항 연산자)
- null 병합 연산자 (??) : 왼쪽 피 연산자가 nuH이나 undefined가 아니면 그 값을 반환
- || 를 쓸때는 0을 조심해서 써야함. 0은 false 처리라 무시됨. 이럴때는 ??를 써야한다.
- void: 단항 연산자이며 피 연산자 타입을 가리지 않음. 피연산자를 평가한 후 그 값을 버 리고 undefined를 반환
4.1 기본 표현식
- 상수, 리터럴 값, 일부 키워드, 변수 참조
4.2 객체와 배열 초기화 표현식
- 그 값이 새로 생성된 객체나 배열인 표현식. 객체 리터럴 혹은 배열 리터럴이라고 부른다
4.3 함수 정의 표현식
- 함수 리터럴
4.4 프로퍼티 접근 표현식
- 점 표기법, 대괄호 표기법
- 점 표기법은 접근하고자 하는 이름이 유효한 식별자이고, 그 이름을 알고 있을때만 사용
- 프로퍼티 이름에 스페이스나 구두점, 숫자인 경우, 변수일 때에는 대괄호 표기법을 써야한다.
expression.identifier
expression[expression]
- 조건부 프로퍼티 접근(옵셔널 체이닝) → undefined, null 일때 종료(undefined로 평가) ⇒ TypeError 방지
4.5 호출 표현식
- 함수나 메서드를 호출하는 문법
f(0) // f는 함수 표현식이고 8은 인자 표현식입니다.
Math.max(x,y,z) // Math.max는 함수이고 x, y, z는 인자입니다.
a.sort() // a.sort는 함수이고 인자는 없습니다.
- 옵셔널 체이닝을 통해 조건부 호출 가능
4.6 객체 생성 표현식
- 객체 생성 표현식은 객체를 생성하고 함수(생성자)를 호출해 객체 프로퍼티를 초기화
- new 키워드가 붙음
4-7. 연산자 개요
- 1항 연산자, 2항 연산자, 3항 연산자 (피연산자 개수를 기준으로 분류)
- 부수효과: 할당 연산자 혹은 ++, - - 연산자 경우 표현식 이후 평가 결과에 영향을 미침
- 우선순위: 동작 순서 결정, 우선순위가 높은 순서로 수정되며 () 괄호를 이용해 순서를 변경할 수 있음
- 결합성(R, L): 우선 순위가 같은 동작을 수행할때의 순서(L: 왼쪽에서 오른쪽, R:오른쪽에서 왼쪽)
4-8 산술 표현식
- “+” 는 숫자 피연산자는 더하고, 문자열 피연산자는 병합, 연산자의 타입이 일치하지 않으면 문자열 병합이 우선
- “++”가 피연산자 앞에 있을때는 전위 증가 연산자, 뒤에 있을때에는 후위 증가 연산자
- 전위 연산자는 1 더해진 값으로 평가, 후위 연산자는 1 더하기 전의 값으로 평가
1 + 2 // => 3: 덧셈
"1" + "2" // => "12": 병합
"1" + 2 // => "12": 숫자를 문자열로 변환한 후 병합
1 + {} // => "l[object Objectl": 객체를 문자열로 변환한 후 병합
true + true // => 2: 불 값을 숫자로 변환한 후 덧셈
2 + null // => 2: null을 0으로 변환한 후 덧셈
2 + undefined // => NaN: undefined를 NaN으로 번환한 후 덧셈
let i = 1, ++i; // i와 j는 모두 2입니다.
let n 1, m= n++; // n은 2이고 m은 1입니다.
4-9 관계 표현식
- “===” 일치 연산자, 타입까지 완전히 같은지 반환 (↔ ”!== “)
- “==” 동등 연산자, 타입 변환을 허용하여 두 피연산자가 같다고 볼 수 있는지 체크 (↔ ”! = “)
🙊 왜 “11” < “3” true?
(아스키 코드로 비교한다. 맨 앞글자 “1” 과 “3” 을 비교했을때 3의 아스키코드가 커서!)
4-10 논리 표현식
- &&, ||, !
4-11 할당 표현식
- 할당 연산자 “=”의 우선순위는 낮다.
- 할당과 연산을 동시 지원 (단축 표현), “+=” , “-=”
4.12 평가 표현식
- eval(): 보안으로 사용을 매우 권장하지 않다.
- 문자열이 아닌 값을 전달하면, 그 값을 반환. 문자열을 전달하면 자바스크립트 코드로 분석 시도 실패하면 syntaxError, 문자열 성공적으로 분석 시 코드를 평가하고 문자열의 마지막 표현식 또는 문의 값을 반환하고 마지막 표현식이나 문에 값이 없다면 undefined를 반환한다.
- eval()을 호출했을 때의 핵심은 eval()이 자신을 호출한 코드의 변 수 환경을 사용한다는 점
4.13 기타 연산자
- 조건 연산자 (3항 연산자)
- null 병합 연산자 (??) : 왼쪽 피 연산자가 nuH이나 undefined가 아니면 그 값을 반환
- || 를 쓸때는 0을 조심해서 써야함. 0은 false 처리라 무시됨. 이럴때는 ??를 써야한다.
- void: 단항 연산자이며 피 연산자 타입을 가리지 않음. 피연산자를 평가한 후 그 값을 버 리고 undefined를 반환
728x90
반응형
'개발공부 > 자바스크립트' 카테고리의 다른 글
[🦄자바스크립트 완벽가이드] 배열 (0) | 2022.07.19 |
---|---|
[🦄자바스크립트 완벽가이드] 객체 (0) | 2022.07.19 |
[javascript] 배열(array)와 객체(object) 개념 및 차이 (0) | 2021.08.16 |
[JavaScript] 스터디 14일차_3강 this 와 화살표 함수 (0) | 2021.07.24 |
[JavaScript] 스터디 13일차_ 2강_실행컨텍스트와 콜스택 (0) | 2021.07.22 |