연산자
  • 대부분 java의 연산자와 동일 하지만 아래는 코드들은 예외
7 + "5"; // "75"
7 - "5" // 2
"aaa" - 3; // Nan

10 ** 3 // 1000 10의 3제곱

0.1 * 10 // 1 , 1.0이 아님

"2" > "12" // true, string은 사전순서로 비교
"2" > 12 // false

1="1" // true
0=="0" // true

undefined==0 // flase
undefined==null // true
undefined===null // false
  • ==는 값만 비교하지만, ===는 타입까지 비교한다.
  • ===와 달리 ==는 피연산자의 타입을 일치시킨 후 비교한다.
배열
  • java와 달리 배열의 크기는 동적으로 변경가능하다.
  • 하나의 배열에 여러 타입의 값을 저장할 수 있다.
var arr = [1,2,3,4,5];
console.log(arr[0]); // 1

arr[6] = 100; // 7번째 요소에 100을 저장

console.log(arr); // [1, 2, 3, 4, 5, undefined, 100]
console.log(arr[5]); // undefined
console.log(arr.length); // 7
  • 배열도 객체이며, new 연산자로 생성할 수 있다.
var arr = new Array(1,2,3,4,5); // var arr = [1,2,3,4,5];
var arr2 = new Array(40); // 40개의 undefined요소들이 저장된 배열
배열 - 메서드
  • 배열 만들기
var fruits = ['사과', '바나나'];
  • 인덱스로 배열 접근
console.log(fruits[0]);// 사과
console.log(fruits[fruits.length - 1]); // 바나나
  • 배열 순환 - foreach()
fruits.forEach(function (item, index, array) {
  console.log(item, index);
});
// 사과 0
// 바나나 1
  • 배열 끝에 항목추가 - push()
fruits.push('오렌지');
console.log(fruits); // ["사과", "바나나", "오렌지"]
  • 배열 끝에 항목 제거 - pop()
fruits.pop(); // 끝에있던 '오렌지'를 제거
console.log(fruits); // ["사과", "바나나"];
  • 배열 앞에 항목 제거 - shift()
fruits.shift(); // 제일 앞의 '사과'를 제거
console.log(fruits); // ["바나나"];
  • 배열 앞에 항목 추가 - unshift()
fruits.unshift('딸기') // 앞에 추가
console.log(fruits); // ["딸기", "바나나"];
  • 배열 안 항목 인덱스 찾기 - indexOf()
var pos = fruits.indexOf("바나나");
console.log(pos); // 1
  • 인덱스 위치에 있는 항목 추가 및 제거 - splice()
fruits.splice(1, 1); // 항목을 제거하는 방법
//splice(start, deleteCount, item1, item2, ...)
console.log(fruits); // ["딸기"]

fruits.splice(1, 0, "망고"); // 두번째 인자가 0 일경우 삭제X
console.log(fruits); // ["딸기", "망고"]
  • 배열안에 값을 하나 반환 - find()
var array1 = [5, 12, 8, 130, 44];

var found = array1.find(function(element) {
  return element > 10;
});

console.log(found); // 12
  • 배열안에 값을 여러개반환 - filter()
    • 실제로는 새로운 배열을 만드는 것이다. (API 참조)
var array1 = [5, 12, 8, 130, 44];

var filter = array1.filter(function(element) {
  return element > 10;
});

console.log(filter); // [12, 130, 44]
  • 배열을 문자열로 반환(쉼표(,)로 구분) - toString()
var monthNames = ['Jan', 'Feb', 'Mar', 'Apr'];
console.log(monthNames.toString()); // 'Jan,Feb,Mar,Apr'
  • 배열의 모든 요소를 연결해 하나의 문자열로 만듦 - join()
var monthNames = ['Jan', 'Feb', 'Mar', 'Apr'];
console.log(monthNames.join(" - ")); // 'Jan - Feb - Mar - Apr'
  • 배열 합치기 - concat()
var string = ['a', 'b', 'c'],
    number = [1, 2, 3];

var concat = string.concat(number);

console.log(concat); // ['a', 'b', 'c', 1, 2, 3]
chanhee.kim's profile image

chanhee.kim

2018-01-30 11:59

Read more posts by this author