let은 변수 정의
const는 상수 정의
var는 더 이상 쓰이지 않는다!
// 기존 함수 정의 방식
function callMe(name) {
console.log(name);
}
const callMe = function(name) {
console.log(name);
}
// 화살표 함수
const callMe = (name) => {
console.log(name);
}
// 화살표 함수 - arguments가 없는 경우
const callMe = () => {
console.log('Max!');
}
// 화살표 함수 - 하나의 argument만 있는 경우
// 괄효 생략 가능
const callMe = name => {
console.log(name);
}
// 화살표 함수 - 바로 value를 return하는 경우
const returnMe = name => name
export default ...;
import someNameOfYourChoice from './path/to/file.js';
export const someData = ...;
import { someData } from './path/to/file.js';
import * as upToYou from './path/to/file.js';
upToYou는 모든 exported 변수/함수를 하나의 자바스크립트 객체에 모읍니다
class Person {
// constructor () {
// this.name = 'Max';
// }
name = 'Max';
printMyName () {
console.log(this.name); // this is required to refer to the class!
}
// 또는 화살표 함수로도 가능
// this키워드가 reference를 변경하지 않는다!
// printMyName = () => {
// console.log(this.name);
// }
}
}
const person = new Person();
person.printMyName()
class Human {
species = 'human';
}
class Person extends Human {
name = 'Max';
printMyName = () => {
console.log(this.name);
}
}
const person = new Person();
person.printMyName();
console.log(person.species); // prints 'human'
sperad operator는 배열과 객체(참조 자료형)를 복제(얕은 복사)하는데 매우 유용하다!
const oldObject = {
name: 'Max'
};
const newObject = {
...oldObject,
age: 28
};
배열에서 예시
const array = [1, 2, 3];
const [a, b] = array;
console.log(a); // prints 1
console.log(b); // prints 2
console.log(array); // prints [1, 2, 3]
객체의 예시
onst myObj = {
name: 'Max',
age: 28
}
const {name} = myObj;
console.log(name); // prints 'Max'
console.log(age); // prints undefined
console.log(myObj); // prints {name: 'Max', age: 28}
const printName = ({name}) => {
console.log(name);
}
printName({name: 'Max', age: 28}); // prints 'Max')
map() => https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
find() => https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find
findIndex() => https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex
filter() => https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
reduce() => https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce?v=b
concat() => https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat?v=b
slice() => https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice
splice() => https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice