자바스크립트 강좌 4 - 표현식
Javascript 2012. 3. 8. 12:11
4. 자바스크립트 표현식
1. 표현식
1 - 1. 표현식이란? 자바스크립트 인터프리터가 계산하여 값을 구할 수 있는 자바스크립트 구절을 말합니다.
1 - 2. 대부분의 연산자들은 (+)나 (-)와 같은 문장부호로 표현되지만, 일부는 'delete'나 'instanceof'와 같은
키워드로 표현됩니다.
키워드로 표현됩니다.
1 - 3. 산술연산자
1 - 4. 동등연산자는 두 값을 비교하여 그들이 같은지 다른지 판단한 후 비교 결과에 따라 불리언값(true / false)를
반환합니다.
반환합니다.
1 - 5. 관계연산자는 두값의 관계를 테스트하고 해당 관계가 존재하는지 여부에 따라 불리언값(true / false)를
반환합니다.
반환합니다.
1 - 6. in 연산자는 좌변의 피 연산자로 문자열을 받고 우변의 피연산자로는 객체나 배열을 받습니다.
1 - 7. instanceof 연산자는 좌변의 피연산자로 객체를, 우변의 피연산자로 객체 클래스의 이름을 받습니다.
1 - 8. 문자열 연산자
1 - 9. 논리 연산자는 보통 불리언 대수를 수행합니다.
1 - 10. 비트단위 연산자
1 - 11. 할당 연산자는 변수에 값을 할당할 때 사용한다.
1 - 12. 기타 연산자
2. 예제 코드:
1. [1 - 1] 예제
6. [1 - 6] 예제
7. [1 - 7] 예제
더 자세한 내용은 이전 포스를 참고하세요
8. [1 - 8] 예제
10. [1 - 11] 예제
더 자세한 내용은 이전 포스를 참고하세요
2. 예제 코드:
1. [1 - 1] 예제
-
// 가장 간단한 표현식은 아래와 같이 리터럴 또는 변수 이름입니다.
-
// 간단한 표현식을 조합하면 더 복잡한 표현식을 만들 수 있습니다.
-
1.7
-
'1.7'
-
true
-
false
-
null
-
{}
-
function(){ ; }
2. [1 - 3] 예제
(+)덧셈: + 연산자는 숫자 타입 피연산자의 덧셈이나 문자열 타입 피연산자의 이어 붙이기에도 쓰일 수 있습니다.
(-)뺄셈
(/)나눗셈
(%)나머지
(-)단항 마이너스: 예) -1(음수)
(+)단항 플러스: 예) +1(양수)
-
//(++)증가: 단항 피연산자에 대해 증가 연산을 수행한다. 예) i++
-
-
var i = 0;
-
alert(++i); // 1;
-
-
//(--)감소: 단항 피연산자에 대해 감소 연산을 수행한다. 예) i--
-
-
var i = 0;
-
alert(--i); // -1
4. [1 - 4] 예제
동등(==) / 일치(===) / 부등(!=) / 불일치(!==):
두 연산자 모두 두 값이 같은지 확인하는데 쓰이지만, '같다'는 것을 정의하는 기준이 서로 다릅니다.
즉, 동등(==)연산자는 두 피연산자의 "데이터타입"과 상관없이 "값"이 같다면, true를 반환합니다.
반면 일치(===) 연산자는 두 피연산자의 "값"과 "데이터타입"이 모두 일치 해야만 ture를 반환합니다.
-
// 동등(==) / 일치(===)
-
-
//undefined 와 null은 값은 같으나 데이터 타입은 다르다.
-
-
// 동등
-
alert(undefined == null); // true
-
-
// 일치
-
alert(undefined === null); // false
-
-
-
// 부등(!=) / 불일치(!==)
-
-
//undefined 와 null은 값은 같으나 데이터 타입은 다르다.
-
-
// 부등
-
alert(undefined != null); // false
-
-
// 불일치
-
alert(undefined !== null); // true
5. [1 - 5] 예제
(<) 더 작다
(>) 더 크다
(<=) 더 작거나 같다
(>=) 더 크거나 같다
-
var i = 0;
-
-
alert(i < 1); // true
-
alert(i > 1); // false
-
alert(i <= 1); // true
-
alert(i >= 1); // false
6. [1 - 6] 예제
-
var o = {x: 'x값'};
-
-
alert('x' in o); // true
-
alert('y' in o); // false
-
-
// for in 연산자도 같은 맥락으로 이루어져 있습니다.
-
for (var n in o){
-
if (Object.hasOwnProperty.call(o, 'x')){
-
alert(o[n]); // x값
-
}
-
}
7. [1 - 7] 예제
-
//o 객체 생성
-
function fn(){ ; };
-
var o = new fn();
-
-
// true: o 객체는 fn 생성자 함수로 부터 생성되었습니다.
-
alert(o instanceof fn);
-
-
// true: 모든 객체는 Object 프로토타입 인스턴스를 상속받습니다. 또한 Object 프로토타입의 생성자는 Object 생성자함수가 됩니다.
-
alert(o instanceof Object);
-
-
// o 객체는 Array 생성자 함수의 체인에 속하지 않습니다.
-
alert(o instanceof Array);
-
-
// [] 객체는 Array 생성자 함수의 체인에 속합니다.
-
alert([] instanceof Array);
더 자세한 내용은 이전 포스를 참고하세요
8. [1 - 8] 예제
-
var str = '';
-
str += 'str';
-
-
alert(str); //str
-
-
var str = '';
-
str = str + 'str';
-
-
alert(str); //str
9. [1 - 9] 예제
(&&) 논리 AND
(&&) 논리 OR
(!) 논리 NOT
-
// 논리 AND
-
-
var x = true;
-
-
// 첫번째 피연자와 두번째 피연산자가 모두 'true'일 경우에만 연산 결과로 ture를 반환한다.
-
-
if (x && true) alert(x); // true
-
-
x && alert(x); // true
-
-
-
// 논리 OR
-
var x = true;
-
-
// 첫번째 피연자와 두번째 피연산자 중 하나라도 true라면 연산 결과로 true를 반환한다.
-
-
if (x || false) alert(x); // true
-
-
x || alert(x); // true
-
-
var y = x || 0;
-
-
alert(y); // true
10. [1 - 11] 예제
-
var x = 0;
-
var x = x || 0;
-
-
// 이 할당식에서 주의 할점은 전역변수 y는 x와 달리 암묵적 전역변수가 된다는 것이다. 즉, y는 명시적으로 var 선언문에 의해 선언되지 않고 0이 정의 된다는 것입니다.
-
// 그러므로 아래와 같이 window객체의 프로퍼티로 delete 연산자로 인해 속성에 대한 삭제가 가능합니다.
-
var x = y = 0;
-
-
alert(typeof y); // number
-
-
delete y;
-
-
alert(typeof y); // undefined
더 자세한 내용은 이전 포스를 참고하세요
11. [1 - 12] 예제
조건부 연산자(?:): 조건부 연산자는 자바스크립트의 유일한 3항 연산자이며, 때로는 그 자체로 3항 연산자라고 불리기도
합니다.
합니다.
typeof 연산자: typeof 연산자는 단일 피연산자 앞에 위치하는 단항 연산자로, 피연산자는 아무 타입이라도 무방합니다.
객체 생성 연산자(new): new 연산자는 새로운 객체를 생성하고 이를 초기화하기 위한 생성자 함수를 호출합니다.
delete 연산자: delete는 단항 연산자이며, 피연산자로 지정된 객체 프로퍼티, 배열 원소 또는 변수를 삭제 합니다.
void 연산자:
void는 단일 피연산자 앞에 쓰이는 단항 연산자로, 피연산자의 타입은 아무 타입이라도 관계가 없습니다.
이 연산자는 보통 자바스크립트 URL 요청에 많이 쓰이며, 브라우저에 평가된 값을 표시하지 않으면서 표현식을 평가할 수
있게 해줍니다.
있게 해줍니다.
쉼표(,) 연산자: 쉼표 연산자는 왼쪽의 전달인자를 평가하고 오른쪽의 전달인자를 평가한 후, 오른쪽 전달인자의 값을
반환합니다.
반환합니다.
마침표(.) 연산자: 배열 원소에 접근하는 데에는 대괄호([])를 사용하면 되며, 또 객체의 맴버에 접근하는 데에는
마침표(.)를 사용합니다.
마침표(.)를 사용합니다.
함수 호출 연산자(()): ()연산자는 자바스크립트에서 함수 호출에 사용된다.
-
//조건부 연산자(?:)
-
-
var x = true ? true : false;
-
-
alert(x) // true
-
-
// typeof 연산자
-
-
alert(typeof x) //boolean
-
-
// 객체 생성 연산자
-
-
var o = new Object();
-
-
// delete 연산자
-
-
y = 0;
-
-
alert(typeof y); // number
-
-
delete y;
-
-
alert(typeof y); // undefined
-
-
// 쉼표 연산자
-
-
var x = 0
-
, y = 0
-
, z = 0;
-
-
-
// 마침표 연산자
-
-
var o = {x: 'x'};
-
var a = ['y'];
-
-
alert(o.x); // x
-
alert(a.length); // 1
-
-
-
// 함수 호출 연산자
-
-
(function(){
-
alert(function(){ ; }) // function{ ; };
-
})();
참고서적: (자바스크립트 핵심 가이드)