arrow function vs function
arrow function : 화살표 함수
const 함수명 = (매개변수) => {
함수내용
}
- function 키워드를 사용하지 않고 함수를 정의하는 것
- 매개변수가 하나뿐인 경우에 괄호는 선택사항
- 매개변수가 없는 함수는 괄호가 필요
- 익명 함수의 형태
- 메소드 함수가 아닌 곳에 적합 (생성자로서 사용할 수 없음)
function : 전통적인 함수
function 함수명(매개변수){
함수내용
}
var elements = [
'Hydrogen',
'Helium',
'Lithium',
'Beryllium'
];
elements.map(function(element) {
return element.length;
});
elements.map((element) => {
return element.length;
});
elements.map(element => {
return element.length;
});
elements.map(element => element.length);
변수 선언문 let, const, var
let | ⭐ const | var |
---|
블록범위 | 블록범위 | 전역범위, 함수범위 |
재할당 O (업데이트O) | 재할당 X | 재할당 O |
재선언 X (다시선언X) | 재선언 X | 재선언 O |
변하는 데이터 값 | 변하지 않는 데이터 값 (상수 선언) | 잘 사용하지 않는 추세 |
| 완전히 새로 재할당하는 것은 불가능하지만, 변경(배열 추가,삭제)은 가능 | |
논리연산자
&&
: AND 연산자
- 두 피연산자가 모두 참일 경우에만
true
, 그렇지 않으면 false
||
: OR 연산자
- 두 피연산자 중 하나라도 참이 있으면
true
, 그렇지 않으면 false
- 💡피연산자가 boolean 값이 아닌 경우에도 평가를 위해 boolean으로 변환됨. ( true로 평가되며, 피연산자를 반환)
!
: NOT 연산자
- 피연산자를 boolean 으로 변환하여 그 값의 반대값을 반환
falsy, truty한 value들
false
로 판명되는 것들
- undefined, null
- NaN
- 0 (숫자 리터럴), -0
- “” (빈 문자열)
- false
- 나머지는 모두 true
optional chaining
nullish collash
if else vs 삼항연산자
if...else
if (조건1)
명령문1
else if (조건2)
명령문2
else if (조건3)
명령문3
...
else
명령문N
- if 다음에 나오는 조건이 참인 경우에 명령문을 실행
- 위에서 부터 실행하며, 조건에 해당하는 명령문이 실행되면 조건문을 종료
- 조건에 모두 해당하지 않는다면, else 에 해당하는 명령문 실행
삼항연산자
조건문 ? 참 일때실행할 식 : 거짓일 때 실행할 식
var age = 26;
var beverage = (age >= 21) ? "Beer" : "Juice";
console.log(beverage);
⭐.map method
const array1 = [1, 4, 9, 16];
const map1 = array1.map(x => x * 2);
console.log(map1);
- 배열 내의 모든 요소 각각에 대해 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환함
⭐.filter method
const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present'];
const result = words.filter(word => word.length > 6);
console.log(result);
- 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열을 반환함
typescript
- TypeScript는 JavaScript기반의 언어
- 컴파일언어, 정적 타입 언어
- 타입스크립트 컴파일러 또는 바벨을 통해 자바스크립트 코드로 변환됨
- 코드 작성 단계에서 타입을 체크해 오류 확인 가능
- 장 ) 미리 타입을 결정하기에 실행 속도가 매우 빠름
- 단 ) 하지만 코드 작성 시 매번 타입을 결정해야 하기 때문에 번거롭고 코드량이 증가하며 컴파일 시간이 오래 걸림
TypeScript | JavaScript |
---|
JS의 모든 기능 있음 | 웹 개발에 주로 사용 |
정적타입의 컴파일 언어 | 동적 타입의 인터프리터 언어 |
코드 작성 단계에서 타입을 체크해 오류를 확인함 | 런타임에서 오류를 발견할 수 있음 |
리액트와의 호환성 좋음 | |
참고 ) https://www.samsungsds.com/kr/insights/TypeScript.html