ES6에서 $ 기호를 통해 변수를 쉽게 삽입할 수 있게 되었다.

예제를 통해 보자

 

let email = "abc@naver.com";

console.log("이메일은 " + email + "입니다"); //기존 따옴표 방법

console.log(`이메일은 ${email} 입니다`)  //new


console.log(`${5+10} 입니다`) //이런 것도 가능하다.

 

결과

아주 편리하다.

json에서 키값으로 접근하여 remove하고 싶을때가 생긴다.

왜 난 delete 문법을 모르고 지금까지

for문을 돌며 key값 뽑아내고 key값으로 다시 접근해서 remove하고 있던걸까...

 

단, 배열에서는 delete를 해도 해당 인덱스의 값이 empty로 되지만 배열의 길이는 그대로 3이다.

let json = {
    "key1" : "value1",
    "key2" : "value2",
    "key3" : "value3"
}


delete json["key1"];

console.log(json);
// {key2: "value2", key3: "value3"}
console.log(Object.keys(json).length);
// 2

//단, 배열에서는
let arr = [0,1,2]
delete arr[0]; 
console.log(arr) 
// [1,2]
console.log(arr.length) 
// 3

 

Javascript에서 JSON을 사용하다보면 key값이 아닌 index로 접근해야할 경우가 종종 생긴다.

필자는 JSON의 key값에 넘버링이 되어 있고, 특정 체크박스가 체크되면

해당 넘버링된 key값의 값을 바꾸어야 하는 상황이었다.

let JSON = {
        Rule1 : "N",
        Rule2 : "N",
        Rule3 : "N",
 };
 
 let index = [];
 for (let x in JSON) { 
 	index.push(x); 
 }
 index.sort(function (a, b) {
 	return a == b ? 0 : (a > b ? 1 : -1);
 });

for(let i = 0; i<3; i++){
	console.log(JSON[index[i]]);
}
		

javascript의 경우 ===와 ==라는 연산자가 존재한다. 

==는 Equal Operator이고,  ===는 Strict Equal Operator이다. 

 

기본

1004 == '1004'   // true를 리턴
1004 === '1004'  // false를 리턴

 

 

객체

var a = [1,2,3];   
var b = [1,2,3];   
a == b // false를 리턴
a === b // false를 리턴

배열(객체)의 경우 메모리 주소가 다르기 때문에 두경우 모두 false를 리턴한다.

(두 배열이 같은지 비교하기 위해서는 루프를 돌려 배열의 값이 같은지 확인하면 되려나?)

 

 

javascript에서는 type을 변수 생성시 type을 설정하지 않지만 (typescipt를 사용하는게 아니라면) 

=== 와 ==는 type까지 확인하는 엄격함의 차이라고 생각하면 될 듯 하다.

+ Recent posts