原始物件內函式的寫法
const obj = {
name: "小明",
fn: function () {
return this.name;
}
};
console.log(obj.fn())//"小明"
縮寫後
const obj = {
name: "小明",
fn () {
return this.name;
}
};
console.log(obj.fn())//"小明"
const obj = {
name:"小明",
fn:()=>this.name
}
console.log(obj.fn());//undifined
在使用箭頭函式的時候要注意"this",因為箭頭函式沒有自己的this,所以this會指向window,window中沒有name:"小明"所以會產生undifined
箭頭函式this的指向差異 (見範例7.)
原始物件內函式的寫法
const obj = {
name: "小明",
fn: function () {
return this.name;
}
};
console.log(obj.fn())//"小明"
縮寫後
把: fnuction都去除
const obj = {
name: "小明",
fn () {
return this.name;
}
};
console.log(obj.fn())//"小明"
原始寫法
const person = {
name: "小明",
};
const people = {
person:person
}
console.log(people)//{name: "小明"}
縮寫後
const person = {
name: "小明",
};
const people = {
person
}
console.log(people)//{name: "小明"}
屬性(person這個物件內的屬性)與變數相同的時候只要寫一次就行。
原始的陣列展開
const a = [1,2,3];
const b = [4,5,6];
const c = a.concat(b);
console.log(c)//[1,2,3,4,5,6]
縮寫的陣列展開
const a = [1,2,3];
const b = [4,5,6];
const c = [...a,...b];
console.log(c)//[1,2,3,4,5,6]
const obj = {
fna(){console.log('a')},
fnb(){console.log('b')}
};
const newObj = {
...obj,
fnc(){console.loc('c')}
};
console.log(newObj)//{fna:f,fnb:f,fnc:f}
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
const list = document.querySelectorAll('li')
console.log(list)//[object NodeList] (3)["<li/>","<li/>","<li/>"]會得到類陣列,無法使用全部陣列的功能
const newlist = [...list]
//使用...轉化為純陣列
// [object Array] (3)
console.log(newlist)[<li>1</li>,<li>2</li>,<li>3</li>]
原始預設值寫法
function plus(a,b){
if(!b){b=2}
//如果b沒有傳入參數預設值為2
return a+b
}
console.log(plus(1))///3
縮寫後
function plus(a,b=2){
return a+b
}
console.log(plus(1))///3
要修正文件成等比級數的問題有兩種方法,1.結束產品的生命週期,就是註銷醫材許可證,這樣子就不用每年更新文件,但這是不可能的因為醫材許可證的申請需要花2-3個月的間,所以這接即便沒有再生產的醫材也會被借屍還魂,用一個新開發的醫材文件寫成是舊醫材的改版,只要遞交修改申請就可以時間可以節省1-2個月,自然舊不可以註銷,2.把功能相關的醫材做成類別把風險報告模組化,不過這個難度也是很大,明明同種產品但個別的功能已經是不同類型的產品,這就是公司所提供的"客製化",基本上可以想成是把三輪車改造成滑板車,一樣都是車可是本質上已經是不同的東西了。