ウェブDeBLOG|トライデントコンピュータ専門学校 Webデザイン学科

トライデントコンピュータ専門学校 Webデザイン学科の最新情報を紹介しています。学生へのインタビュー記事から学生作品の解説、Webデザイン・マークアップ・プログラミングの授業風景、プロジェクト発表会、名古屋のWeb制作会社情報、イベント参加レポートやWeb制作の技術解説などWeb制作に関連する記事を掲載しています。トライデントコンピュータ専門学校は、いま話題の名古屋駅からユニモール地下街を歩いて3分です。 

2019.12.30 [月] JavaScriptのclassについて、書いてみた。

最終更新:2020.01.10Webサイト制作Tips

トライデントコンピュータ専門学校も冬休みです。
もういくつ寝ると、2020年です。この「ウェブDeBlog」も12年目となります。

長い間、ブログを書いていくと「続きを書きます」と書いては、いつかいつかと思いながら書けてない記事もたくさんあります。
その中のひとつ「そうだ、ECMAScript6(ES2015)でいこう」の続きも書いてなかったので、冬休みの期間を活かしてclassについて書きたいと思います。

js-class_002.jpg

さて、多くのオブジェクト指向言語では、クラスという仕組みがあります。 JavaScriptでは、ECMAScript2015から、クラス構文が使えるようになりました。
ただし、このクラスは以前からあったプロトタイプベースの継承の糖衣構文シンタクティックシュガーです。

ECMAScript2015で導入されたJavaScriptクラスは、JavaScriptにすでにあるプロトタイプベース継承の糖衣構文です。クラス構文は、新しいオブジェクト指向継承モデルをJavaScriptに導入しているわけではありません。

参考:クラス - JavaScript | MDN

クラスとはオブジェクトを作る際のデータやメソッドを定義してあり、いわばオブジェクトの設計図です。
オブジェクトを作る時には、クラス(型)を指定することで、指定したクラスに定義されたデータとメソッドを備えたテンプレートのインスタンス(コピー)となります。

js-class_003.jpg

上の図でいうと、Carというクラスを基にしたobject Car1, object Car2, object Car3のそれぞれがCarのインスタンスとなります。

js-class_001.jpg

ちなみに、Chromeをはじめ、Firefox, Safari, Edgeなどモダンブラウザでは対応済みです。
IE11では、他のES2015の新しい仕様と同様、利用できません。

参考:ECMAScript 6 compatibility table

目次

  • classの宣言
  • インスタンス
  • constructor(コンストラクタ)
  • インスタンスメソッド
  • staticメソッド(静的メソッド)
  • 継承
    • super
    • オーバーライド
  • getterとsetter
js-class_005.jpg

classの定義

クラスの定義には、クラス式とクラス宣言という2つの定義方法があります。

クラス宣言文

クラス宣言はclassキーワードを使って定義します。
また、クラスは関数と違い巻き上げがされないので、クラス利用する前に、そのクラスを宣言する必要があります。

class クラス名 {
  変数や処理を記述する
}

クラス式

クラスを定義する別の方法はクラス式です。クラス式は、クラス名ありでもクラス名なしでもできます。

//クラス名あり  
const 定数名 = class クラス名 {};
//クラス名ありの場合、クラスのnameプロパティによって取得可能
console.log(定数名.name) //⇒クラス名

//クラス名なし
const 定数名 = class {};

インスタンス

new演算子を使用してオブジェクト(インスタンス)を生成します。この事をインスタンス化といいます。

class Car{

}
//class宣言文で定義したCarをインスタンス化  
const taxi = new Car();  
//class Carは使い回せる  
const myCar = new Car();
const dammyCar = "car";

//instanceofという演算子で、そのクラスのインスタンスかどうかを判定できます。
console.log( taxi instanceof Car );
console.log( dammyCar instanceof Car );
true
false

また、インスタンス同士は、同じクラスから生成されても違うオブジェクトとして扱われます。

console.log( taxi === myCar);
false

constructor(コンストラクタ)

コンストラクター は、classによって生成される時(newの時)オブジェクトの生成・初期化を行う特別なメソッドです。
"constructor"という名前のメソッドは、クラスに1つしか定義できません。

class Car {  
  //コンストラクタ関数の仮引数としてmakeとmodelを定義
  constructor(make, model) {  
      //コンストラクタ関数におけるthisはインスタンスを示すオブジェクト  
      //インスタンスのmakeとmodelプロパティにそれぞれ値を設定する  
      //クラス内の変数ということでメンバー変数と呼ばれます
     this.make = make; //メーカー名  
     this.model = model; //モデル名
  }  
}   
//new演算子でインスタンスを作成してコンストラクタの仮引数に引数を渡す  
const myCar = new Car("Tesla", "Model S");  
console.log(myCar.make);
console.log(myCar.model);
Tesla
Model S

2017.03.13 [月] そうだ、ECMAScript6(ES2015)でいこう

最終更新:2019.12.29Webサイト制作Tips

2017年もあっという間に、3月半ばですね。
講師のカワグチです。

今では、Webサイトには欠かせないJavaScriptですが、国際的なプログラミング言語を提供できるようにEcma Internationalによって標準化されています。
ECMA は、以前は European Computer Manufacturers Association〈欧州電子計算機工業会〉の頭文字をとったものでしたが、1994年にEcma Internationalに名称を改めました。
この標準化されたJavaScriptのバージョンはECMAScriptと呼ばれ、現在、バージョンは、ES5(ECMAScript5)が一般的です。

参考:入門編 - JavaScript | MDN

es2015-001.jpg

2015年にES6が標準化され、徐々にWebブラウザで利用できるようになってきました。
また、このES6から、仕様書の表題に2015が追加されたことにより、ES6(ES2015)と併記されることが多くなりました。

さらに、昨年6月にはECMAScript2016が標準化され、現在ECMAScript2017が策定中です。
今後は毎年新しく仕様が策定されるようになるということでES7....8...ではなく、ES2016, ES2017, ...と表記されていくようです。

参考:ES6 or ES2015 ? 〜WEB+DB PRESS Vol.87 ES6特集に寄せて〜 - Cybozu Inside Out | サイボウズエンジニアのブログ

es2015-002.jpg

Internet Explorer11は、あまり対応していませんが、iOS SafariやGoogle ChromeをはじめMicrosoft Edgeなどの最新のWebブラウザでは対応しています。

参考:ECMAScript 6 compatibility table

最近では、出版されるJavaScriptの入門書でもES6(ES2015)を解説したものも多くなり、インターネット上の情報も特に注記もなく、新しい仕様で解説されていることも増えました。
授業でも、今後はES6(ES2015)を盛り込んでいって良い時期かもしれません。

ということで、ES6で新しく追加された仕様を少し調べてみました。

目次

  • ES6(ES2015)とは
  • let(局所変数)
  • const(定数)
  • 引数の記法
  • テンプレートリテラル
  • アロー関数
検索フォーム
#NoHeartNoSNS

ハートがなけりゃSNSじゃない!

プロフィール

担当:Webデザイン学科

名古屋駅から歩いて6分、トライデントコンピュータ専門学校のWebデザイン学科を紹介します。

トライデントロゴ

質問などはLINEでどうぞ。

Instagram
Webデザイン学科実績
<プレゼン>
WCAN 2016 Springに参加してきました。
WCAN 2015 Winterに参加しました。
建設業入職者増加プロジェクトの発表会に参加
WCAN 2015 Summerに参加してきました。
WCAN 2013 Winterに参加
WCAN(秋)に参加しました。
無事、発表が終わりました【WordFes Nagoya 2013】
WCAN 2013 Summerに参加してきました。
WCAN 2011 Winter LT&LOGO
学生がライトニングトークで話しました。
<進級展>
2019年度 1年生進級制作展終了しました。
1年生進級展2018「線の群生」終了しました。
1年生進級展「WWW(Welcome to Web World)」を開催しました。
1年生進級展「お母さんの2度見展」を開催中です。
「うぇ~~~~~~~ぶ2016」終了しました。ご来場ありがとうございました!
「うぇ〜〜〜〜〜ぶ!!」終了。ご来場ありがとうございました!
<コンテスト>
信州未来アプリコンテスト0 [ゼロ] 2020 NTTドコモ長野支店賞受賞!
信州未来アプリコンテスト0 [ゼロ] 2019 KDDI賞受賞!
第5回 ソレコン☆ポスコン特別賞受賞
「第1回 専門学校 HTML5作品アワード」技術賞を受賞しました!
NCF2017でグランプリを受賞しました!
信州アプリコンテスト0 [ゼロ] KDDI賞受賞!
NCF2014(スマホアプリ開発テーマ2) 準グランプリ獲得!
最優秀賞!HTML5スマートアプリ&クリエイティブコンテスト
NCF2013グランプリ受賞!!!
<Webサイト制作>
ミス・ユニバース・ジャパン岐阜大会公式Webサイトを作成しました。
建設業入職者増加プロジェクト発表会
Webサイト制作発表会2014
99eagle Webサイトリニューアル公開
99eagle Webサイト公開
「Bloom*Block」Webサイト公開
セントレア「日本の四季 キルト展」Webサイト公開
かっぱ商店街サイト制作
ココストア共同企画「アサココ!」公開
<技能五輪全国大会>
第56回技能五輪全国大会(ウェブデザイン職種)敢闘賞受賞!
第53回技能五輪全国大会(ウェブデザイン職種)その3
第52回技能五輪全国大会が開催されました。
銀メダル・銅メダル獲得【第51回技能五輪全国大会】
第49回技能五輪全国大会結果発表 敢闘賞受賞
第48回技能五輪全国大会結果発表(銀賞・敢闘賞受賞)
第47回技能五輪閉会式 & 結果発表
第46回技能五輪
<若年者ものづくり競技大会>
第14回若年者ものづくり競技大会
第11回若年者ものづくり競技大会 2日目&結果
第9回若年者ものづくり競技大会2日目(競技日)
第8回若年者ものづくり競技大会2日目
第7回若年者ものづくり大会
第6回若年者ものづくり大会2日目
第5回若年者ものづくり大会
第4回若年者ものづくり競技大会閉会式
月別アーカイブ
タグリスト 改

トライデントコンピュータ専門学校Webデザイン学科業界研究WCAN技能五輪ウェブデザイン職種ウェブデザイン若年者ものづくり競技大会Webサイトポートフォリオ映画名古屋2013ECCコンピュータ専門学校学生ブログWebデザイン1年生進級展WinterWebサイト制作2009JavaScriptWordPress技能五輪全国大会2011入学式卒業制作展アクアリングかっぱ商店街オープンキャンパス礒田優卒展矢野りんNagoyaWordpressアクセス解析Webライトニングトーク2014CSScmsa-blog面白法人カヤックSummer体験入学ホームページ・ビルダー石黒雄介CGイラスト学科瀬川大勝Web制作会社テンプレート作成卒業制作合同企業展Autumn若年者ものづくり大会IIJ第48回技能五輪全国大会閉館日miniinFlashウェブデザイン技能競技大会杉本拓也佐藤歩GIOウェブデザイン技能競技会HTML5あいちカレーラーメンコンテスト名古屋駅html5夏休み夏季閉館日2010学生インタビュープレゼンテーションAdobe20152012東京研修JapanHCD大阪ココストア99eagle情報デザインフォーラム上村水月成田篤紀田中睦翔北濱大輔愛知県Webワークショップ情報デザインブログパーツグリッドレイアウトdisplay:gridCOMMUNICATIONGridLayout専門学校CSS3Webデザインギャラリーサイバーエージェント制作合宿トライデント祭りセントレアBananaAd学生ラーメンプロジェクトウェブデザイン技能検定モリサワjQuery人間中心設計就職活動フォトアルバムNEXTGoogleWebクリエイター能力認定試験林田実樹Spring2018水野裕太企業訪問CentOSgifアニメUXマールoption要素戸田芳裕ワークショップCalendarCMS熊谷佳紀Forumoutput要素カリキュラムAnalyticsselect要素5T(ファイヴティー)form要素アップルップルフロントエンドエンジニア名商連愛知県選手団fieldset要素legend要素飯田淳介Yahoo!Japantextarea要素ウェブDeBLOGAdventカメラ写真沖縄input要素幕張メッセSEOサーティファイNTTドコモ東海マークアップエンジニアWebデザイナースマートフォンたこ焼きスマホアプリWEBサイト制作者のためのHCDの理解in名古屋1年生作品展まぼろしトライデント合同企業展iPhonecanvas結果発表particleCSSNite長屋めぐみモンキーワークス謹賀新年うぇーぶ和みRunstantAWARDトライデント初期設定笈瀬本通り中日ドラゴンズ空気人形ナゴヤドームイラストマップ知多みるくドラマPluginメ~テレポートフォリオサイトオンライン授業鈴木優太ディプロスWordCamp導入授業アンティー・ファクトリー豊田市美術館レイアウトF-site堀尾真衣コミュニケーションデザインワークショップ阿部淳也卒業式信州アプリコンテスト[ゼロ]アプリコンテストアサココ!静岡岩手県情報デザイン基礎DTPWORLD塚本碧エイチーム真鍋大度FICCWebリテラシーStoreApple松本渚Box株式会社スタメン企業課題Likeビジュアルエディタグループ制作久保怜也WebアプリES20152017WordFesjbstyleゴールデンウィーク2020産学協同学習label要素Zoom株式会社LIG水野怜美進級展2008作品集ES6名古屋市科学館会社訪問鷹野雅弘茂森仙直ウェブアクセシビリティ出張講座名古屋開府400年祭MarkupMagnumJAPANWORLDCUPネスカフェゴールドブレンドvhキルト展道頓堀unoplus松坂屋美術館YORKE.プロトコル分析WEBサイト制作者のためのHCDの理解3伊藤頼子新世界バルサマン技能五輪予選ビジュアルデベロップメント日本の四季求人伊達千代CustomSmiliesremポートピア名古屋英国王のスピーチフナ犬ablogcmsDTPの勉強部屋ぬいぐるみのラパンKtaistyle絵文字大沢たかお知多半島卒業制作・研究発表会2011卒業・修了制作展スタジオジブリ・レイアウト展トライデントカレッジUntitled!!!!!!!!プロ野球北岡弘至円JOY!map愛知県立芸術大学タロヲvw横浜デジタルアーツグラフィクデザインTwitterみの治商店プチ・フレーズ三蔵田中稚妃呂ポスターデザイン・コンペディションLazyLoad大西健太笈瀬本通CODE名古屋クリエイターフットサル商店サイト制作GoogleAnalytics名チャリCODEポスターデザイン・コンペティション小林信次名駅経済新聞増田悟中級編愛知商業高校中部国際空港株式会社GAUltimate石井研二カメラワークブラザー工業株式会社株式会社アクアリング名古屋グランパスチタハン10笈瀬本通商店街商店街金シャチ商店街名古屋市中村区名古屋サイト改善研究会1→10design細川太郎名古屋メディアボンドアクセシビリティGAINAXIASUBARU放課後のプレアデスキルターズフェスティバル2011サーバーペルソナFLAVER3.0ITCIRCUSウェブリテラシー協会Slimbox2forWEBサイト制作者のためのHCD(人間中心設計)の理解AndrioidJIS柴乃櫂人8341-3:2010FLVXシナリオ広島弁iPhone4中部国際空港ヨウイチCOMPLETETokyoCHILDRENADVENTVIILabuatUTZOOMGENOウィルスワークスコーポレーション「ヤノベケンジ-ウルトラ」展BlogFANTASYFINALプレゼン演習ActionScript基礎HTML+CSS基礎造形基礎西村真里子WCAN×CSSNiteアートアニメーション武豊町TAFF'09広告批評セキュリティデコクレインターネットスキル認定普及協会ライブペイント黒い太陽ウルトラ展国家検定西田幸司旭食品サンプル製作所食品サンプルActionScriptヱヴァンゲリヲン新劇場版:破ヤノベケンジ信州未来アプリコンテストゲーム日本ファルコム□□□switch山村浩二音楽ファルコム音楽フリー宣言カスタマイズセミナーCALENDARUNIQLO荒俣宏福田将也デッサンQubibiArtlessNam丹下紘希W+KTokyo(+CRUZ)StefanWebDirectionEast'08デザインのへそHelveticaSagmeister小林隼大小林健人ニシヤマナガヤウェブデザイン部門未完美術館カンファレンスWEBTHEHPデザインデザインコンテスト01CONTEST2008WinterXRAYSakaeNightCollegeFLEX佐藤可士和中村勇吾DesignCS4サムライTEXTUREFLASHMAX鳥取VideopuppetryASIASIGGRAPH鳥取砂丘デザインデザイナーのためのプログラミング入門PHP愛知県美術館アンドリュー・ワイエス学科富岡聡ペルソナ/シナリオ法おかだよういち情報デザイン教育勉強会プロジェクションマッピングイラストコンテスト浅野智ペルソナ&シナリオ法日本電子専門学校横浜デジタルアーツ専門学校3校合同発表会クリ博就職フェスタデュエル・マスターズ長谷川恭久ロゴ公募FITCCREAMごはんとFlash教育勉強会#infoeduスーパーエレメンツ山崎デザイン事務所コピーライティング小野裕子鎌倉会社見学餃子浜松IA2010キックオフセミナー夢プロジェクト2009・成果報告会福みつWCAN46武将都市名古屋おもてなし武将隊武豊アニメーションフェスティバルTAFFウェブリテラシー協会第一回セミナーSalsa新横浜ラーメン博物館横浜中華街箱根合宿森川眞行慶華飯店NIKEWasThereThenAndマークアップ演習マクロマリオネットアニメーションMozorama後期入賞escalatoranimationLPO第4回アックゼロヨン・アワードCG・イラストコンテストモーション演習ガンダム後期集中授業コマ撮りアニメ電信柱エレミの恋ウサビッチカナバングラフィックスソバットシアターCMS特集グラフィックデザイン今井佳子アイディグラフィックス学生参加ギレン総帥UNIQLOCKdotFesHCDプロセスブランディングAutuminKyotowonderfl映画のオープニング閉会式ゆるキャラFlash-Gamesカラーストリートビュー東京ゲームショウ2009人喰いの大鷲トリコ是枝裕和監督ナゴヤデザインウィーク2009大富豪スコアシートPHP勉強会JAPANインターネットクリエイティブアワードYahoo!世界のCMフェスティバルITホワイトボックスナゴヤ結果v4.0.1WCAN2017SpringSyntaxHighlighterECMAScriptお母さんの二度見展Proxy学校スタジオディテイルズ服部友厚佐藤洋介ターミナルマイクロソフトWebプログラミング初級講座インスタグラムInstagram醐りょういな世料理芸大appendChild()HTMLCollectionNodeList美大鈴木雄太山川綾那堀川友章関口浩之安藤志維Contentsofフォントおじさんミス・ユニバース・ジャパン岐阜大会堀川志維安藤NCF2017TableTOC尾鷲高校衣台高校梅澤朝樹株式会社エイチームノートPC貸与夏休みの課題AWARDS出身高校D3.jsスクラップブック驛麺通り再進学原一浩2016坂本邦夫WebプログラマーWebディレクター津田直明制作実績カークスヴィルIA/UXプラクティス平野秀幸坂本貴史Web制作のおしごと懇親会レスポンシブWebデザイン職業実践専門課程ウェブアートデザイナーうぇ~~~~~~~ぶワイヤーフレーム出席率学位合宿合同制作合同制作合宿専門士沼田啓助河地芳明水曜日のカンパネラタカガールサイトプラネタリアンResurgenceDay:日清食品グループジムナストコロン学園祭情報系Monaca学生作品集IndependenceクイズJSBinCodePenプログラムクイズAO入試JSFiddlePlunker駅麺通り涼麺jsdo.itCodeply友章WWW(Welcome落合祐介信州アプリコンテストゼロ杉浦麻紀ライフスタイル冬休み足立丈也、平子卓哉、増田隼也eatスポーツアナリティクスエペフェンシングmarker仙直茂森祐司PhotoshopCS6髙橋茜音STUDIO株式会社アンティー・ファクトリー髙橋コンテストソレコン☆ポスコン2019茜音株式会社LIGHTzclasses進級制作OriginalTshirt.stフロントエンドマイクロインタラクションICS株式会社COTS第3回専門学校HTML5作品アワードパラサイト2020アカデミー賞企業賞進級制作展池田泰延MILKあけましておめでとう新年2019年令和2年HappyNewメンバーズ三瓶YearLIGCBC東京ゲームショウ2018VRカルタ出前授業青山高校新城高校OculusGOsourcepicture沖縄県第56回冨田伴成イークリエイトWebデザインスペシャルデー期末テスト北川パーヤンWorld)to脆弱性なんと読む?韓国藤井英一JIHYEHEOホ・ジヘsrcset第56回技能五輪全国大会線の群生2020新卒FigmaツールUIデザイン日本総合ビジネス専門学校株式会社MTGTBSわたし、定時に帰ります。新入生オリエンテーション企業見学牧野史門桝田草一NextDoor斉藤洸貴cymaEC事業前川元成コーヒー用品株式会社サイバーエージェントあけおめ平成31年メーカー・ブランド仕事UIPARTYそこにいない。展Perfumebyinspiredあいちトリエンナーレ2013Webデザイン演習さかなや晴れやか嵐が如く第51回技能五輪全国大会Rhizomatiks田代豊みんなのICT佐藤ねじFacebookたこ焼きパーティWeb制作合宿東京就職たにぐちまことプレゼンThree.js木下健太郎フジ家55麺屋ココイチ卒業研究制作展10日でおぼえるLinuxサーバー入門教室最優秀賞ジョルテKDDIトライデント合同企業説明会F81教室parseInt()DesignergoogleGWDHTML5スマートアプリ&クリエイティブコンテストモテ声ボーダー芸術大学高橋雅人カレーラーメン麺やOK美術大学NCF2013list-itemdisplaylist-style-typeNTTドコモ東海支社名古屋市名東区Museゲーム大賞アマチュア部門Ohana東京ゲームショウ神戸神戸国際展示場メールマガジンロゴマーク迎春敢闘賞ツインメッセ静岡静岡県emDRAGONGATEドラゴンゲート愛知淑徳大学みつけものGoogleロゴ5月11日鈴木プラネタリウムライアン・ウッドワードマーサ・グレアム2011年度ドコモFacebookページSVGベースキャンプ名古屋SHOWGAMEIllustrator長野画像をチェックボタンにする張山大祐JQuery第50回TOKYO東京ゲームショウ2012NHNStationFuturedocomoイマジンカップTeam第7回若年者ものづくり競技大会尾花大輔Bloom*BlockBloosumparseFloat()備忘録ScrollmagicScrollMagic八木智章竹中民男夏麺フェアVelocity.jsWebアクセシビリティワクワク建設タウン建設経営者倶楽部松井友奈アクセシビリティからはじめる、WebサイトのUXデザイ木村哲朗森田霞スマートフォンサイトUI図鑑インターンシップCSS3&jQueryで作る名古屋駅麺通りNCF2014WF1でBLOG新入生HighlighterSyntaxCrayon2015年度第53回熊﨑彩グロースハックグロースハッカーPlatformKaizenアクティビティシナリオ14高校バイドゥ平野健太郎ポートフォリオアイデア帳採用担当者の心に響く源賢司UXデザイン松田洋樹3DCG東京コスモクリスマスCGスペシャリスト味仙Dmm.com岡田陽一FlexibleBoxFlexbox新年のご挨拶親孝行大門坂熊野三山那智の大滝本州最南端串本和歌山中華そばアロチ本家スパルタキャンプ岩出本店丸田屋丸高八鬼山熊野古道中村健太ランチ道家陽介concrete5栗山聡一石原愛実宇野剛志マカベン名古屋マークアップ勉強会tableテーブル柏木祥太名古屋市営地下鉄optgroup要素keygen要素type属性紅茶専門店Liyn-anアイテムカンパニーdatalist要素button要素麺の匠オリエンタル第52回技能五輪全国大会HTMLネイルサロンマウア授業AnimationAO特別授業青空学区西岡克真加藤ひとみアイチータ結団式青山敬司山田拓生恵那市岩村

メールフォーム

名前:
メールアドレス:
件名:
本文:

東京コスモ
トライデントコンピュータ専門学校
教務課のびのび日記
オフィス川口
Pagetop