겉모양 비슷하다, 별거 아니다 생각하실수 있는데
속내 전혀 다르게 동작합니디
동적 타입 언어라서 기본적으로 덕타이핑이 가능한데 그 이유는
자바스크립트에서 dictionary가 곧 오브젝트입니디, 똑같은 놈입니디
자바에서 해쉬맵? 같은거라고 생각하믄 될겁니디
해당 'key' 와 'value' 로 이루어진 오브젝트는 결국
key 가 프로퍼티가 되는거거 value 가 참조되는 리얼 인스턴스입니디
글거 function 객체 단위로 클러져가 동작합니다.
이건 함수형 랭기지에서 따온 겁니다.
제가 방금 function 객체라고 말했듬니다., 네 function도 객쳅니다.
new 키워드로 인스턴스를 찍어낼수도 있습니디.
문법이 드러워서 그렇지 (신텍스 슈가가....)
속내는 아름다운 개념으로 꽉차있져 ,
일반적인 객체지향 언어들이 가지는 class 가 없습니다.
대신
function 객체를 new로 인스턴스화 시키고
자기자신 (this) 에 프로퍼티를 추가해서 public 같은 효과를 낼수 있듭니다.
앞서 말했지만 오브젝트 자체가 , 딕셔너리 혹은 해시맵 같은 놈이라서
프로퍼티를 추가하는것이 (키, 값) 쌍을 추가하는 거나 마찬가집니다.
일반 객체지향 언어에서는
class 내부에 '생성자' 를 또 따로 둬서 객체를 생성하게 하는데
굳이 이렇게 하는게 아니라, 더 심플한 생각입니디
자바스크립트를 이에 비추어 보면 그냥 함수를 실행하되
new 키워드로 인스턴스를 만들어주는 꼴이 되는겁니다.
즉 그냥 클래스 생각 안해도
생성자만 짠다고 생각하면 되져, 필드가 필요하면 그냥
생성자 내부에서 this 에다가 프로퍼티 붙여나가면 됩니다. 엄청 유연하죠
아니믄 프로토타입 객체를 이용해서 상속을 할수더 있습니다.
프로토타입 객체는
디자인 패턴의 프로토타입 패턴 생각하믄 됩니다. 딱 그거에요
객체가 만들어지면 , 자동으로 같이 생성되는 일종의 하나의 쌍이고
서로 체인을 이뤄서 참조를 합니디
상속 효과를 내려면 이 체인만 변경해주면 되는거져
클래스가 있는 언어처럼
빵틀에 찍어낸다는 개념이 아니라
이미 존재하는 인스턴스를 기반으로
계속 연결 시켜나가는 개념입니디
이래서 어떤 인간드른 자바스크립트를
'객체지향 프로그래밍 언어' 이라고 하지 않고
'객체 기반 프로그래밍 언어' 라고도 부르는 새끼들이 있습니다. 저도 그럽니디
C 빠들이 자바스크립트를 본다면
존나 void* 포인터로 존나게 서로 거미줄 같이 얽혀 있는것 처럼 느껴질겁니다.
그렇습니디. 존내 참조가 많아지져, 이게 자바스크립트 성능 발목 잡는 놈
근데 솔까 프로토타입 상속은 존나 짜증납니다.
타이핑이 존나 많아서여
제이쿼리는 프레임 워크라 하긴 거창하고 플러그인 같은 놈입니다.
DOM 에서 엘리먼트 선택할때 , 전나 구현하기 귀찮습니다.
막 체인이 계속 물고 늘어집니다. 이걸 css 문법 스탈로 도와주는게 주 목적인 놈입니다.
html5 에서는 제이쿼리 보고 감동을 머겄는지 쿼리셀렉터가 추가됬씁니디
var ul = document.querySelector('.list'); // list 라는 클라스를 가지고 있는 엘리먼트들중 첫번째놈 선택 <ul class="list"></ul>
저는 솔까 플러그인도 좋지만,
자바스크립트 순혈주의 팝니다.
순수 자바스크립트 !!
플러그인에 의존적이게 코드짜는건 죄악같은거져
최근 자바스크립트는 서버사이드 자바스크립트 폭풍이 몰아치고 물러가는 중입니디
프갤에도 몇몇 흉들이 노드를 빨고 있져, 저도 지금 노드 빌드설치하고 빠는중입니다.
짤은 hell world 찍어봤습니다.
하이튼 자바스크립트는 존나 짱입니다.
어서 빠세요
스크립트 언어 첨써보냐 ..;;
?????????????
함수형언어를 처음본 사람의 흔한 반응
노드는 첨엔 서버사이드라서 빨았지만 이제는 그냥 브라우저 독립적인 JS 실행환경이라고 하는 편이 젖절할거 같긔
나도 헤스켈이랑 R첨볼때 블로그에 비슷한글 싸질렀던거같은데. 4년전이네.. 첨보면 보통은 이런반응아닌가 ;;
그냥 lisp이나 scheme써 ㅡㅡ) 훨씬 변태같은 짓을 할 수 있어. 특히 매크로는 미친짓이 가능함 ㅇㅇ 수학적으로 미친짓 하고싶으면 haskell도 좋다능 ㅇㅇ type system을 이용한 정수연산을 함 봐야됨
자바스크립트 쓴지는 좀 댔듬, ㅡㅡ 오래되도 빠는게 있져, 걍 자바스크립트 별차이 없는것처럼 생각하는거 같길래 빠는 입장에서 쓴거임 ㅋ
야, 자바스크립트가 이름은 스크립트지만 엄연한 프로그래밍 언어지. 까놓고 보면 쭥같은 것은 브라우저 때문이지 자바스크립트 자체의 문제는 아니다. 존내 복잡한 C++나 Java 보단 낫다고 본다. 그리고 이제 대세가 C++나 Java는 없어도 세상이 돌아가지만, 자바스크립트가 없어지면 대재앙이 되는 수준이 되버렸다.