TIL/TIS 211110 - 211111

gyeon·2021년 11월 11일
0

TIL/TIS

목록 보기
4/14

JavaScript 주의할점만

java나 c랑 비교해서 다른부분만 우선 기술.

변수

// let : block-scoped 지역변수, const : block-scoped 상수
// 모던 자바에서는 var를 사용하지 않는다.
let value1 = 1;
const con1 = 1;
// 문자열은 ""나 ''뭐든 상관 없다. 섞어 쓰지만 않으면 됨
let value2 = 'abc';
let value3 = "abc";
let value4 = true;
// 없음 -> null과 undefined.
// null 명시적으로 해당 값이 없음을 나타냄. 의도된 없음.
// undefined 아직 할당되지 않음. 의도되지 않은 없음.
let a = null;
consol.log(a);			// null
consol.log(type of a);	// object
let b;
consol.log(b);			// undefined
//consol.log(type of b);	// object
// object정의, 객체 리터럴 방식
let obj = {
	userId : 'gyeon',
	old : 28,
	gender : false,
	coding : function(lang) {
	  console.log(this.userId + ' is coding ' + lang + '.');
	}
...
};
// 배열 정의
let arr = [1, 3, 5];

연산자

/* ===	: 두 값이 정확하게 일치하는지. 타입검사까지 진행.
** !==	: 두 값이 완전 다른지. 타입검사까지 진행.
** ==	: 두 값이 일치하는지
** !=	: 두 값이 다른지
** ===와 !==사용을 권장.
*/
const a = 1;
const b = '1';
console.log(a == b);		// true
console.log(a === b);	// false
const empty1 = null;
const empty2 = undefined;
console.log(a == b);		// true
console.log(a === b);	// false

함수

function func1(a, b) {
  ...
  return ...;
}
// 화살표함수 =>, 자바의 람다식과 비슷한듯?
let result = (a, b) => {
  return a * b;
}

객체

// 객체 할당 및 구조 분해 방식 사용 예제
let obj = {
	userId : 'gyeon',
	old : 28,
	gender : false,
	coding : function(lang) {
	  console.log(this.userId + ' is coding ' + lang + '.');
	}

};
  function objTest(obj) {
    // 사용할때 명칭이 같아야 매칭이 됨.
	const {userId, old, coding} = obj;
	console.log(userId);	// >> gyeon
	console.log(old);		// >> 28
	coding("JS");			// >> undefined is coding JS.
	obj.coding("JS");		// >> gyeon is coding JS.
  }

//게터와 세터
let obj = {
	_userId : 'gyeon',
	_old : 28,
	_gender : false,
	coding : function(lang) {
	  console.log(this.userId + ' is coding ' + lang + '.');
	},
	set userId(userId) {
		this._userId = userId;
	},
	set old(old) {
		this._old = old;
	},
	set gender(gender) {
		this._gender = gender;
	}, 
	get userId() {
		return this._userId;
	},
	get old() {
		return this._old;
	},
	get gender() {
		return this._gender;
	}
  };
obj.old = 29;
console.log(obj.old);	// >> 29

배열

// 객체 배열 생성
let objs = [{
		a : "aaa",
		b : "bb"
	}, {
		c : "ccccc",
		d : "d"
}]
// 배열에 추가
objs.push({
	e: "YEE"
})
// 출력(확인)
console.log(objs[0].a)	// >> aaa
console.log(objs[0].b)	// >> bb
console.log(objs[1].c)	// >> ccccc
console.log(objs[1].d)	// >> d
console.log(objs[2].a)	// >> undefined
console.log(objs[2].e)	// >> YEE
console.log(objs.length)// >> 3
// + foreach등등 기능많음.

반복문

// for...of
// 그러나 배열의 내장함수 foreach를 사용하는게 더 나음.
const nums = [1, 3, 5, 6, 9];
for (let n of nums) {
	console.log(n);
}
// for...in
// 객체를 위한 반복문
const obj = {
  userId : 'gyeon',
  name : 'gyujun',
  old : 28
}
for (let a in obj) {
  console.log('${a} : ${obj[a]}');
}

https://learnjs.vlpt.us/basics/06-object.html
https://berkbach.com/%EA%B8%B0%EC%B4%88%EB%B6%80%ED%84%B0-%EB%B0%B0%EC%9A%B0%EB%8A%94-react-js-1531b18f7bb2

profile
백엔드와 서버 in 42Seoul

0개의 댓글